如何使Git Extensions浏览器显示所有提交,如gitk --all

时间:2013-03-23 18:01:56

标签: git logging commit git-extensions gitk

Git Extensions存储库浏览器在很多方面似乎比gitk更通用。

enter image description here

但是,我最喜欢的gitk命令行选项是--allgitk --all显示所有提交,包括任何分支或标记无法访问的提交。这对于理解git中实际发生的事情非常有用。例如,在rebase之后,您仍然可以看到已复制和放弃的原始提交(甚至可以使用reset返回它们。)

enter image description here

有没有办法让Git Extensions浏览器表现得像gitk --all并显示甚至无法访问的提交?

3 个答案:

答案 0 :(得分:2)

你的问题的答案是否定的。但是,您可以通过一些工作打开gitk --all

如果您愿意牺牲性能,可以通过更改设置>中的以下内容来获取更多信息。设置> Git扩展程序>性能。选中“在修订图表中显示当前工作更改”。我已将其关闭并最终使用热键设置选项卡。

  • 热键> RevisionGrid。确保“ShowAllBranches”具有快捷键。它通常是Ctrl + Shift + A.
  • 热键>浏览。确保GitGitK有一个快捷键。我用过Ctrl + K.它从Git Extensions中引出了gitk。但是,您必须手动查看所有分支,因此我不确定您是否可以自行查找它。
  • 最后,我认为你真正喜欢的是Scripts选项卡。您需要在那里手动添加Gitk --all脚本,但是您可以为其分配热键。然后你有gitk - 所有来自Git Extensions。

玩得开心:)

显然,还有a feature request that is 3 months old就是这样;)

答案 1 :(得分:1)

冒着声明很明显的风险,从2018年的2.51.RC2版本开始,现在可以在reflog中显示可以通过reflog到达的提交。我不确定这是否与gitk --all完全相同,但是它确实显示了许多其他无法到达的提交。

似乎在幕后使用git log --reflog

拉取请求为here,并与2.51.RC2一起释放。

Image of the "Show reflog references" option in the View menu in Git Extensions

答案 2 :(得分:0)

你指的是" git reflog"。这应该显示所有已提交的提交,即使您意外地稍后重置并丢失以前的提交。你可以恢复"丢失"这样做。我不相信他们是GIT扩展中的按钮来显示该信息。

您通常必须在命令行中执行git reflog以查找提交哈希,然后检查具有该哈希的分支。我已经用它来恢复以前合并变坏的提交。