【问题标题】:How to show `git status` for branches other than the current one?如何为当前分支以外的分支显示“git status”?
【发布时间】:2019-06-13 09:36:35
【问题描述】:

要了解一个分​​支与其远程分支的比较前和/或后多远,可以使用git status 命令。

但是git status只显示当前分支的状态。

想知道同目录下其他分支的状态,需要切换到每个分支再运行git status

然而,切换分支并不总是可能的,因为当前分支可能不干净。

有没有什么方法可以在不切换到其他分支的情况下了解其他分支的状态?

【问题讨论】:

  • 看看使用git branch -vv,看看它是否符合您的要求?
  • @evolutionxbox 是的,它还包含前面/后面的信息。谢谢。
  • @evolutionxbox 优秀的解决方案,甚至可能是git branch -vv | grep branchname 来过滤杂物。应该是一个答案。

标签: git branch git-status


【解决方案1】:

要直接回答您在标题中提出的问题:您不能在其他分支中运行git statusgit status 向您展示了两个关键信息:您如何更改与分支上最近提交不同的索引(您如何暂存更改),以及您如何更改工作目录并进行了更改'没有上演。

换句话说,status 显示了 HEAD 与索引的组合差异以及索引与工作目录的差异。所以只有在当前分支上获得 git status 的等价物才有意义,因为它考虑了索引和工作目录。

除此之外,听起来您只对提前/落后计数感兴趣,并且您希望与上游相比,其他分支的领先/落后计数。

尽管前面/后面的计数是 git status 显示的一些辅助信息之一,但正如您所指出的,它是查找当前分支的前面/后面计数的最简单方法。

要在所有个分支的前面/后面显示,您可以使用the helpful script in this answer

【讨论】:

    【解决方案2】:

    您应该可以执行以下操作来临时设置远程跟踪分支

    git branch -u <remote>/<branch>
    

    然后git status 将显示您需要的内容。

    编辑:您可能想要这样的东西(请参阅第一个答案中的脚本)Show git ahead and behind info for all branches, including remotes

    【讨论】:

    • 这样设置upstream,如何解决OPs问题?
    • “没有切换的其他分支的状态”(来自问题)。
    • 对不起语气。你是对的,但这并不是 OP 想要的。
    【解决方案3】:

    git status --branch yourLocalBranch

    https://git-scm.com/docs/git-status

    【讨论】:

      猜你喜欢
      • 2010-11-27
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 2017-06-20
      • 2015-09-30
      • 2021-08-02
      相关资源
      最近更新 更多