tl; dr:git checkout master
没有切换到master分支,根本没有给出错误或任何输出,我也不知道为什么.任何其他分支工作正常.
我有一个git存储库,由分支development
和master
.我做了一个新的克隆存储库,检查分支development
是默认的.
$ git clone--branch development $ git branch -a * development origin/HEAD -> origin/development origin/development origin/master $ git show-ref 656c781c2affc26792f857baf8e232de07101535 refs/heads/development 656c781c2affc26792f857baf8e232de07101535 refs/remotes/origin/HEAD 656c781c2affc26792f857baf8e232de07101535 refs/remotes/origin/development cfee1a1761642453edf5d001565f23b50243ff09 refs/remotes/origin/master
ref master指向正确,提交确实存在并且是我的master分支的最新提交.
到目前为止,一切看起来都很正常,但是当我尝试切换到掌握时,这种情况正在发生:
$ git checkout master $ git branch * development
没有来自结账的消息,没有错误,没有任何消息,并且没有切换分支.
到目前为止我尝试过的事情:
master2
从同一个commit => checkout 创建第二个分支工作正常.
删除并重新创建分支主数据本地和原点=>再次无法检出
git checkout -b master --track origin/master
=>有效,但我认为没有必要使用此命令,因为这是git checkout master
应该自动执行的操作
承诺并推动掌握工作,但不会改变结账问题
我尝试了几个git版本(1.9,2.2)和机器(linux,windows),问题随处可见.
还有什么想法?我错过了什么?我的存储库坏了吗?我怎样才能解决这个问题?
如果您的仓库的文件夹或文件名与分支名称相同,那么您需要:git checkout xyz --
最后添加额外--
的.它告诉git使用分支或提交而不是尝试使用文件夹/文件名.
在另一个stackoverflow帖子上找到答案:当存在同名文件时,Git更改分支
当源树中有一个文件夹主文件时,我看到过类似的东西.不幸的是,我没有找到一种方法来告诉git将值解释为分支.重命名文件夹为我修复了问题.