用了一段时间git
,很强大也很漂亮..
但也有一些困惑:
在我初始化一个 git repo 之后它应该在 branch master 下,不是吗?
但是 git branch -a
,我什么都没有,伙计。
当我尝试为我的分支设置上游时,我得到了 fatal: branch 'master' does not exist
。
users@debian MINGW64 ~/Desktop/taste
$ git init
Initialized empty Git repository in C:/Users/users/Desktop/taste/.git/
users@debian MINGW64 ~/Desktop/taste (master)
$ git remote add origin git@gitee.com:greedev/Test.git
users@debian MINGW64 ~/Desktop/taste (master)
$ git branch -u origin/master
fatal: branch 'master' does not exist
users@debian MINGW64 ~/Desktop/taste (master)
$ git branch -a
users@debian MINGW64 ~/Desktop/taste (master)
$ git fetch
The authenticity of host 'gitee.com (120.55.226.24)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitee.com,120.55.226.24' (ECDSA) to the list of know n hosts.
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 7 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (7/7), done.
From gitee.com:greedev/Test
* [new branch] master -> origin/master
users@debian MINGW64 ~/Desktop/taste (master)
$ git branch -a
remotes/origin/master
users@debian MINGW64 ~/Desktop/taste (master)
$ git branch -u origin/master
fatal: branch 'master' does not exist
最佳答案
长话短说
您可以 git checkout master
在这一点上。
更长的描述(但还是没那么长)
你这样做很困难。
在未来,而不是:
mkdir repo
cd repo
git init
git remote add origin <url>
git fetch origin
git checkout master
你可以简单地运行:
git clone <url> repo
因为上面的六个命令几乎就是git clone
在前三个步骤之后——创建一个新的、完全空的存储库——你有一个处于特殊状态的存储库:它没有提交,所以它没有分支。同时,它确实有一个当前分支,即master
.
换句话说,当前分支是一个不存在的分支。
这种状态不寻常,但很正常。如果你运行 git checkout --orphan newbranch
,您将 Git 存储库置于相同的状态:1 在一个不存在的分支上。一旦有提交哈希存储在分支名称下,就会创建分支。
每当你运行git checkout <name>
并且没有名为 <name>
的分支, Git 检查是否有 exactly one 远程跟踪分支,例如 origin/<name>
.如果是这样,Git 会创建一个名为 <name>
的新 分支。指向与 origin/<name>
相同的提交那有 origin/<name>
作为其上游。
从最后一步开始——git checkout master
什么时候master
实际上还不存在——是git clone
的最后一步, git clone
还将创建一个新分支 master
跟踪远程跟踪分支 origin/master
.
1请注意,您保留当前索引/临时区域内容。对于新的空存储库也是如此,但是由于它是一个新的空存储库,索引/暂存区也是空的,“保留空集”感觉不太像保留。
关于git - 在 git 中得到 'fatal: branch ' master'不存在',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46915350/