http://www.gitguys.com/topics/tracking-branches-and-remote-tracking-branches/说:"用户不应修改远程跟踪分支(不要通过git checkout将git分支设置为远程跟踪分支,然后尝试修改远程跟踪分支)。 "
首先,除了正常的工作流程之外,如何修改远程跟踪分支?在正常的工作流程中,我会克隆一个仓库(git clone something
,进行更改,然后git push
,这将默认将我的主分支推送到远程跟踪分支origin / master,对吗?这与什么有什么不同?在上面的链接中描述了什么?
正如我在顶部所描述的那样,我可以做git checkout origin/master
,这使我处于"分离HEAD"状态,但没有创建新分支就无法真正做出任何改变,因此我无法修改远程跟踪分支因此造成混乱。
如果您回答这个问题,那么我原来对用户不应该修改远程跟踪分支的问题可能会变得清晰。
答案 0 :(得分:0)
实际上,我认为你已经回答了自己的问题。如果您尝试签出远程分支,请执行以下操作:
git checkout origin/master
你将处于“独立头”状态。虽然您可以进行其他提交,但是没有本地引用它们,您将无法推送您的更改,并且您可能最终会丢失您的工作(通过切换到另一个分支并失去对您所做的提交的访问权限)在独立的头上。)
这不是一个可以恢复的情况,但新手用户很容易感到困惑。
这就是为什么你不应该修改远程跟踪分支。