如何在不带--all选项的情况下在gitk中显示隐藏?

Jaa*_*ing 5 git gitk

我正在开发一个巨大的git存储库,该存储库太大而无法查看所有远程分支。因此,我不想使用gitk --all。但是,我确实想查看其他东西,例如我可以使用的本地分支机构gitk --branches

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

Mar*_*ger 5

UPDATE用更简洁的日志命令

您可能会注意到,即使使用--all,gitk也不会列出所有存储。这是因为隐藏不是唯一的引用;它们是单个ref上的reflog条目stash

您仍然可以列出多个存储区,例如说

gitk stash@{0} stash@{1}
Run Code Online (Sandbox Code Playgroud)

但是只有最新的存储提交才会显示为指向它的引用(这是正确的;再次,其余都是引用日志条目)。

要自动包含所有存储,您可以执行以下操作

gitk `git stash list --format=%H`
Run Code Online (Sandbox Code Playgroud)

但是,这可能并没有多大帮助,因为将显示存储的完整历史记录。(同样,只有最近的藏身处会显示带有指向它的参考,因此要在很长的历史中发现其他人可能并不容易。)

git log你可以做类似的事情

git log `git rev-parse $(git stash list --format=^%H^)` `git stash list --format=%H`
Run Code Online (Sandbox Code Playgroud)

或者,更简而言之,

git log `git rev-parse $(git stash list --format=%H^..%H)`
Run Code Online (Sandbox Code Playgroud)

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

所以我不完全确定您可以使用gitk做您想做的事情。但是,另一方面,gitk绘制的图形无论如何都是零散的混乱,所以也许该log方法可以适应您的需求?