如何为当前分支以外的分支显示“git状态”?
How to show `git status` for branches other than the current one?
要了解分支相对于远程分支 and/or 的领先程度,可以使用 git status
命令。
但是git status
只显示当前分支的状态
看来想了解一下同目录下其他分支的状态,需要切换到各个分支再运行git status
然而,切换分支并不总是可行的,因为当前分支可能不干净。
有什么办法可以不用切换到其他分支就可以知道其他分支的状态吗?
您应该可以执行以下操作来临时设置远程跟踪分支
git branch -u <remote>/<branch>
然后git status
会显示你需要的。
编辑:您可能想要这样的东西(请参阅第一个答案中的脚本)Show git ahead and behind info for all branches, including remotes
直接回答您在标题中提出的问题:您不能 运行 git status
在其他分支。 git status
向您展示了两个关键信息:您如何更改索引(如何暂存更改)与分支上的最新提交不同,以及您如何更改工作目录并进行更改你还没有上演
换句话说,status
向您显示了 HEAD 与索引的组合差异以及索引与工作目录的差异。因此只有在当前分支上获得 git status
的等价物才有意义,因为它考虑了索引和工作目录。
考虑到这个警告,听起来您只对 ahead/behind 计数感兴趣,并且您希望与其上游相比其他分支的 ahead/behind 计数。
尽管 ahead/behind 计数是 git status
显示为某种辅助信息的内容之一,但它是查找当前分支的 ahead/behind 计数的最简单方法,因为您注意到了。
要为 所有 分支显示 ahead/behind,您可以使用 the helpful script in this answer.
git status --branch yourLocalBranch
要了解分支相对于远程分支 and/or 的领先程度,可以使用 git status
命令。
但是git status
只显示当前分支的状态
看来想了解一下同目录下其他分支的状态,需要切换到各个分支再运行git status
然而,切换分支并不总是可行的,因为当前分支可能不干净。
有什么办法可以不用切换到其他分支就可以知道其他分支的状态吗?
您应该可以执行以下操作来临时设置远程跟踪分支
git branch -u <remote>/<branch>
然后git status
会显示你需要的。
编辑:您可能想要这样的东西(请参阅第一个答案中的脚本)Show git ahead and behind info for all branches, including remotes
直接回答您在标题中提出的问题:您不能 运行 git status
在其他分支。 git status
向您展示了两个关键信息:您如何更改索引(如何暂存更改)与分支上的最新提交不同,以及您如何更改工作目录并进行更改你还没有上演
换句话说,status
向您显示了 HEAD 与索引的组合差异以及索引与工作目录的差异。因此只有在当前分支上获得 git status
的等价物才有意义,因为它考虑了索引和工作目录。
考虑到这个警告,听起来您只对 ahead/behind 计数感兴趣,并且您希望与其上游相比其他分支的 ahead/behind 计数。
尽管 ahead/behind 计数是 git status
显示为某种辅助信息的内容之一,但它是查找当前分支的 ahead/behind 计数的最简单方法,因为您注意到了。
要为 所有 分支显示 ahead/behind,您可以使用 the helpful script in this answer.
git status --branch yourLocalBranch