要了解与分支的远程位置相比,分支前面和/或后面的距离,有一个git status
命令。
但是git status
仅显示当前分支的状态。
想了解同一目录中其他分支的状态,我需要切换到每个分支并再次运行git status
。
但是,由于当前分支可能并不干净,因此并非总是可以切换分支。
有没有办法在不切换到其他分支的情况下了解其他分支的状态?
答案 0 :(得分:2)
要直接回答标题中提出的问题:不能在其他分支机构中运行git status
。 git status
向您展示了两个关键信息:如何更改与分支上的最新提交不同的索引(如何进行更改),以及如何更改工作目录并进行更改你还没有上演。
换句话说,status
向您显示HEAD与索引的组合差异与对工作目录的索引差异。因此只有在当前分支上获得等效于git status
的意义,因为它考虑了索引和工作目录。
避免这种警告,听起来您只对先行/后行计数感兴趣,并且您希望将其他分支的上游/后行计数与其上游相比。
尽管git status
显示的是某些辅助信息之一,但正如您所指出的那样,它是查找当前分支的前后计数的最简单方法。
要在 all 个分支的前面/后面显示,可以使用the helpful script in this answer。
答案 1 :(得分:1)
您应该能够执行以下操作以临时设置远程跟踪分支
git branch -u <remote>/<branch>
然后git status
将显示您需要的内容。
编辑:您可能想要这样的东西(请参阅第一个答案中的脚本)Show git ahead and behind info for all branches, including remotes