我有一个从未遇到过的奇怪情况。
我刚刚为我的开发和主分支完成了 git fetch 更新:
From remote-host:my_repo
f3946b5..c3b2d44 develop -> origin/develop
72830fe..14d8be6 master -> origin/master
我的主分支上的 Git 状态正确地报告我落后了。但是,在我的开发分支上,没有迹象表明我落后了:
dumbo:my_repo wade$ git checkout develop
Switched to branch 'develop'
dumbo:my_repo wade$ git status
# On branch develop
nothing to commit (working directory clean)
我确定这是因为我的本地开发分支不再跟踪起源/开发:
dumbo:my_repo wade$ git branch -avv
* develop 24f29e2 Updated config
master 60d5d8f [origin/master: behind 109] Deploy w/ session_fix
remotes/origin/HEAD -> origin/master
remotes/origin/develop c3b2d44 Deploy changes
remotes/origin/master 14d8be6 Deploy changes
现在,我知道我可以用 git branch --set-upstream 修复它,但我的问题是,它是如何被破坏的?我当然没有采取任何有意识的行动来删除远程跟踪关联。
我的正常工作流程是:
(on branch develop)
git stash (if necessary)
git fetch
git merge or git rebase origin/develop
git checkout master
git merge origin/master
git checkout develop
关于哪些操作会导致跟踪分支关联被破坏的任何想法?