我正在执行 git bisect
session 。
找出我当前所在的提交(SHA1 哈希)的命令是什么? git status
没有提供这个。
编辑:我想调用 git log
并查看第一个条目是否有效?
最佳答案
在 git bisect
session 期间,您至少有 5 种不同的方式来查看当前已 check out 到工作副本中的提交(请注意,选项 1-4 也适用于您'没有做平分):
git show
.git log -1
.- Bash 提示。
git 状态
。git bisect 可视化
。
我将在下面详细解释每个选项。
选项一:git show
如 this answer 中所述对于如何确定您当前 checkout 的提交的一般问题(不仅仅是在 git bisect
期间),您可以使用 git show
和 -s
抑制补丁输出的选项:
$ git show --oneline -s
a9874fd Merge branch 'epic-feature'
选项2:git log -1
您也可以简单地执行 git log -1
来找出您当前正在进行的提交。
$ git log -1 --oneline
c1abcde Add feature-003
选项 3:Bash 提示符
在 Git 版本 1.8.3+(或者它是更早的版本?)中,如果您将 Bash 提示配置为显示您已 check out 到工作副本的当前分支,那么它也会显示当前提交您在对分 session 期间或处于“分离的 HEAD”状态时已 checkout 。在下面的示例中,我目前已 check out c1abcde
:
# Prompt during a bisect
user ~ (c1abcde...)|BISECTING $
# Prompt at detached HEAD state
user ~ (c1abcde...) $
选项 4:git status
同样从 Git 版本 1.8.3+(可能更早,再次不确定)开始,运行 git status
也会显示你在二等分期间 checkout 的提交以及何时处于分离的 HEAD 状态:
$ git status
# HEAD detached at c1abcde <== RIGHT HERE
选项 5:git bisect visualize
最后,在执行 git bisect
时,您还可以简单地使用 git bisect visualize
或其内置别名 git bisect view
来启动 gitk
,这样你就可以图形化地查看你正在进行的提交,以及你标记为坏的提交和目前很好。我很确定这在版本 1.8.3 之前就存在了,我只是不确定它是在哪个版本中引入的:
git bisect visualize
git bisect view # shorter, means same thing
关于git - 查找当前在 Git 中 checkout 的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11168141/