TLDR:如果X作为远程分支存在,那么git checkout X应该创建它的本地分支.就我而言,对于一个分支,它没有.
远程存储库有一个master, release,和其他一些分支(比方说refactor-update)我这样做:
git clone WHATEVER/repo.git
git checkout release
但我没有得到正常的分支切换消息,也没有origin/release创建本地分支跟踪(man每页都有git checkout).我还在master.注意,如果我做的git checkout refactor-update一切都按预期工作.
这在其他计算机上是可重现的(尽管是相同的平台,可能是相同版本的git).我(出于绝望,不是因为我认为它会起作用),删除release分支并用备份替换它并且master分别没有改变行为(git push origin :release && git push origin master:release)
我被困在可能导致问题的地方.我怀疑是因为某些原因git checkout似乎没有认出这个词release,这会让它像执行一样git checkout.为了尝试跟进这个,在另一个回购中我创建了一个发布分支,看看它是一个保留字还是什么,但它肯定只是在这个存储库中.似乎没有任何与众不同的东西.git/config.
Git版本:1.8