我最近从 GitHub 克隆了我们的一个存储库,就在今天,当我执行“切换/ checkout 到此...”时,注意到我的本地分支引用(绿色框内的名称)与远程分支不一致(棕褐色方框名称)。我将尝试插入屏幕截图来显示我的意思:
在浏览引用中,我可以看到一堆分支名称引用,它们都指向 origin/master:
我发现如果我切换/ checkout 到每个分支,使用“创建新分支”和“如果存在则覆盖分支”,我可以解决此问题,但为什么我必须这样做?
最佳答案
关于“指向master
”的分支
他们没有。它们碰巧指向 master
也指向的同一个提交,但这本身并不是问题。这意味着这些分支要么是从 master 全新创建的,要么最近与 master
重新同步(有很多可能的情况,具体取决于您的工作流程),这完全没问题。
关于与远程对应分支不同步的分支
看起来其中一些分支有新的提交,但您的本地版本的分支尚不知道这些提交。
您的“我可以解决这个问题”会导致用您的(较旧的)版本替换(更高级的)远程引用。这会让它在你的本地看起来正确,但这会破坏其他人的工作(dyang?)。
因此,您必须检查这些新提交(作者是谁?有哪些更改?),并可能将它们 pull 到您的本地存储库中。这将也“修复”这种情况并重新同步本地与远程,但在最新版本而不是旧版本上。
如果您想避免通过 TortoiseGit 执行此操作,并确保通过 CLI 更新某些分支:
git checkout <some-branch>
git pull
关于git - TortoiseGit 本地分支与 GitHub 上的远程分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60204108/