0

我在想我这里有一个 git 工作流问题。我正在清理一些远程分支,并在帮助一位同事时意识到我们的两个 git 引用都是“不同步”的。

例如,如果我打开 git bash 并输入命令“git branch -r”,我会得到一个这样的列表:

  • 起源/分支1
  • 起源/分支2
  • 起源/分支4

现在,当我让我的同事在他们的 git bash 提示符中做同样的事情时,我们会得到一个像这样的列表:

  • 起源/分支1
  • 起源/分支3
  • 起源/分支7

请注意,我和我的同事也有一个案例,我们看到了同一个远程分支“branch1”。这是我对运行 bash 命令的期望。让我感到困惑的是“我们为什么还有更旧且不存在的分支仍然被归还”的问题。

我如何同步我们的两台机器,以便如果我们都运行“git branch -r”命令,我们将返回与远程仓库有关的相同信息。

谢谢大家!

4

2 回答 2

2

您需要将本地计算机与远程显式同步。你看到的 origin/some_branch 是基于你最近的 git fetch。Git 在您的本地存储一个远程版本,然后将其命名为 origin/some_name。重要的是要了解您实际上并不是在查看查看远程的门户,而是查看远程并且您的本地计算机可以看到它。要更新本地运行的远程快照:

git fetch origin. # fetching the remote at origin

如果你愿意,你可以运行:

git fetch origin --prune

这将从您的本地 origin/some_branch 中删除不再在您的遥控器上跟踪的任何分支。但请确保您知道在运行破坏性操作时您在做什么。

https://www.kernel.org/pub/software/scm/git/docs/git-fetch.html

于 2013-07-23T20:46:19.003 回答
0

尝试git fetch --prune在您的计算机和您同事的计算机上运行。

这将从本地存储库中删除远程存储库中不存在的分支。

此操作后的输出git branch -r应该相同。

于 2013-07-23T20:31:44.553 回答