0

我有两个使用 posh-git 的本地存储库,在其中一个中,分支颜色根据posh-git 自述文件正确显示:

  • 青色表示分支匹配其远程
  • 绿色表示分支在其远程之前(绿灯推动)
  • 红色表示分支在其遥控器后面
  • 黄色表示分支在其遥控器的前面和后面

但在我的另一个仓库中,无论本地与远程的状态如何,分支始终为青色。

在这两者之间,我在$GitPromptSettingsand上运行了一个差异git config -l,并且都没有显示任何与颜色相关的差异(只有远程来源、一些分支名称,其中一个有一些 gitflow 设置)。

如果有什么不同的话,这两者也来自两个独立的 GitHub 私有(组织)存储库。

什么可能导致这种情况,或者我还能做些什么来排除故障?

4

1 回答 1

1

我怀疑您当地的分支机构没有设置跟踪上游的任何内容。这意味着 Git 不知道将它们与哪些远程分支进行比较。

您可以通过检查.git/config存储库中的文件来检查这一点。设置为跟踪上游分支的分支将包含一个merge设置,例如

[branch "master"]
        remote = origin
        merge = refs/heads/master

设置跟踪分支的一种简单方法是-u下次使用该参数push,例如git push -u origin master。(您不必每次都这样做;这将在您第一次使用时设置上面显示的选项)。

从其文档中

-u
--set-upstream

对于每个最新或成功推送的分支,添加上游(跟踪)引用,由无参数git-pull和其他命令使用。有关详细信息,请参阅branch.<name>.mergegit-config

有关在现有分支上设置远程跟踪分支的更多信息,请参阅此答案

于 2014-11-13T14:26:16.890 回答