git - TortoiseGit 本地分支与 GitHub 上的远程分支

标签 git github branch tortoisegit

我最近从 GitHub 克隆了我们的一个存储库,就在今天,当我执行“切换/ checkout 到此...”时,注意到我的本地分支引用(绿色框内的名称)与远程分支不一致(棕褐色方框名称)。我将尝试插入屏幕截图来显示我的意思:

enter image description here

在浏览引用中,我可以看到一堆分支名称引用,它们都指向 origin/master:

enter image description here

我发现如果我切换/ 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/

相关文章:

git 分支删除 - HOOK

git - `origin/master` 是指远程存储库中的远程分支,还是本地存储库中的远程跟踪分支?

git - 带有 Git 当前分支和颜色的 PS1 行

git - 将具有共同历史的两个 svn 存储库迁移到 git

git - 如何在不提交我的更改的情况下使用 git pull 新文件和更改?

github - SSH认证后仍需要登录

git - 在 git 中切换分支 - 我什么时候会得到 "You have local changes cannot switch branches."?

git - TortoiseGit 图标叠加层在未修改时显示已修改

git - 文件可以在 Git 中暂存和取消暂存吗?

git - Git初学者:分离Git提交