要了解一个分支与其远程分支相比领先和/或落后多少,可以使用git status命令。但是git status只显示当前分支的状态。看起来要了解同一目录中其他分支的状态,我需要切换到每个分支并再次运行git status。然而,切换分支并不总是可能的,因为当前分支可能不干净。有没有办法不切换到其他分支就能知道其他分支的状态?
git status
6jygbczu1#
直接回答你在标题中提出的问题:你不能在其他分支中运行git status。git status显示了两个关键信息:你是如何改变了索引(你是如何暂存的改变),这些改变与你的分支上最近的提交不同,以及你是如何改变了工作目录,并做出了你没有暂存的改变。换句话说,status显示了HEAD到索引的组合差异和索引到工作目录的组合差异。因此,在当前分支上获得git status的等价物才有意义,因为它考虑了索引和工作目录。有了这个警告,听起来好像您只对提前/落后计数感兴趣,并且您希望与上游相比,其他分支的提前/落后计数。尽管提前/落后计数是git status显示的辅助信息之一,但正如您所指出的,它是查找当前分支的提前/落后计数的最简单方法。要显示 * 所有 * 分支的前/后,可以使用the helpful script in this answer。
status
wko9yo5t2#
您应该能够执行以下操作来临时设置远程跟踪分支
git branch -u <remote>/<branch>
然后git status将显示您需要的内容。编辑:你可能想要这样的东西代替(见第一个答案中的脚本)Show git ahead and behind info for all branches, including remotes
ewm0tg9j3#
git status --branch yourLocalBranch
详细说明:https://git-scm.com/docs/git-status
3条答案
按热度按时间6jygbczu1#
直接回答你在标题中提出的问题:你不能在其他分支中运行
git status
。git status
显示了两个关键信息:你是如何改变了索引(你是如何暂存的改变),这些改变与你的分支上最近的提交不同,以及你是如何改变了工作目录,并做出了你没有暂存的改变。换句话说,
status
显示了HEAD到索引的组合差异和索引到工作目录的组合差异。因此,在当前分支上获得git status
的等价物才有意义,因为它考虑了索引和工作目录。有了这个警告,听起来好像您只对提前/落后计数感兴趣,并且您希望与上游相比,其他分支的提前/落后计数。
尽管提前/落后计数是
git status
显示的辅助信息之一,但正如您所指出的,它是查找当前分支的提前/落后计数的最简单方法。要显示 * 所有 * 分支的前/后,可以使用the helpful script in this answer。
wko9yo5t2#
您应该能够执行以下操作来临时设置远程跟踪分支
然后
git status
将显示您需要的内容。编辑:你可能想要这样的东西代替(见第一个答案中的脚本)Show git ahead and behind info for all branches, including remotes
ewm0tg9j3#
详细说明:https://git-scm.com/docs/git-status