我有一个奇怪的 git 场景:我一直在 master 上开发,我注意到当我的 CI 克隆并尝试修改 git 存储库时,它在 refspec 中看不到“master”。因此,命令
git checkout master
失败。为了解决这个问题(因为我需要我的 CI 向 master 提交一些小的更新),我尝试这样做:
git checkout remotes/origin/master
但是,该命令会导致 DETACHED 头。最后的解决方法是,我checkout -b
喜欢这样做,而不是结帐:
git checkout -b master
这似乎神奇地“创建”了主分支(我认为已经存在),然后世界上一切都很好。
因此,我的问题是: remotes/origin/master 和通过创建的 master 有什么区别git checkout -b
?由于我只有一个遥控器,我认为它们是同义词。