如何在没有`--all`选项的情况下在gitk中显示stashes?

时间:2018-01-16 13:23:14

标签: git gitk

我正在开发一个庞大的git存储库,它太大了,无法查看所有远程分支的实用性。因此,我不想使用gitk --all。但是,我喜欢查看其他内容,例如我的本地分支,我可以使用gitk --branches

有没有办法查看任何藏匿处?

1 个答案:

答案 0 :(得分:4)

使用更简洁的日志命令

更新 ...

你可能会注意到,即使使用--all,gitk也不会列出所有的藏匿处。这是因为藏匿不是明显的参考;它们是单个引用stash上的reflog条目。

可以仍然列出多个藏匿处,例如说

gitk stash@{0} stash@{1}

但是只有最近的存储提交才会显示为有一个指向它的引用(这是真的;其余的是reflog条目)。

要自动包含每个存储,您可以执行类似的操作

gitk `git stash list --format=%H`
但是,这可能没什么用,因为会显示一个藏匿的完整历史。 (再说一次,只有最近的藏匿点才会显示一个参考指针,所以在漫长的历史中发现其他藏匿点可能并不容易。)

使用git log,您可以执行类似

的操作
git log `git rev-parse $(git stash list --format=^%H^)` `git stash list --format=%H`

或者更简洁地说,

git log `git rev-parse $(git stash list --format=%H^..%H)`

缩短历史记录并仅显示隐藏提交,但gitk似乎并不倾向于遵守^<commit>排除规则。 -n 1也不起作用,因为它限制了提交输出的总数,而不是每个参考的数量(此外,gitk然后决定通过填写历史记录来提供帮助)。

所以我并不完全确定你能用gitk做你想做的事。但另一方面,gitk绘制的图表无论如何都只是一个脱节的混乱,所以也许log方法可以根据您的需求进行调整?