我正在git bisect开会。
git bisect
找出我当前正在进行的提交(SHA1 哈希)的命令是什么?git status不提供这个。
git status
编辑:我想打电话git log和看第一个条目有效吗?
git log
在会话期间,您至少有 5 种不同的方式来查看您当前已签出到工作副本中的提交git bisect( 请注意,选项 1-4 在您不进行 bisect 时也可以使用 ):
git show
git log -1
git bisect visualize
我将在下面详细解释每个选项。
正如this answer to the general question of how to determine which commit you current has check-out (不仅仅是在git bisect) 中解释的那样,您可以使用git show选项-s来抑制补丁输出:
-s
$ git show --oneline -s a9874fd Merge branch 'epic-feature'
您也可以简单git log -1地找出您当前正在进行的提交。
$ git log -1 --oneline c1abcde Add feature-003
在 Git 版本 1.8.3+(或者它是更早的版本?)中,如果您将 Bash 提示配置为显示您已签出到工作副本中的当前分支,那么它还会显示您已检查的当前提交在平分会话期间或当您处于“分离 HEAD”状态时。在下面的示例中,我目前已c1abcde签出:
c1abcde
# Prompt during a bisect user ~ (c1abcde...)|BISECTING $ # Prompt at detached HEAD state user ~ (c1abcde...) $
同样从 Git 版本 1.8.3+(可能更早,再次不确定)开始,运行git status还将显示您在 bisect 期间以及处于分离 HEAD 状态时签出的提交:
$ git status # HEAD detached at c1abcde <== RIGHT HERE
最后,当你在做 agit bisect时,你也可以简单地使用git bisect visualize或者它的内置别名git bisect view来启动gitk,这样你就可以以图形方式查看你正在进行的提交,以及到目前为止你标记为坏和好的提交。我很确定这在 1.8.3 版本之前就已经存在了,我只是不确定它是在哪个版本中引入的:
git bisect view
gitk
git bisect visualize git bisect view # shorter, means same thing