Git 列出一个分支中的特定存储

时间:2021-06-26 15:32:44

标签: git git-stash git-reflog gitlist

我有 2 个分支:Section9 和 s9feature。在分支 s9feature 上,我创建了 stash,然后我在 Section9 分支上创建了 checkout,并希望查看专门来自 s9feature 的隐藏列表。我知道我可以运行 git stash listgit reflog stash,但我需要特别列出 s9feature 中的隐藏

1 个答案:

答案 0 :(得分:4)

存储基于提交,而不是分支。然而,存储的默认“标题”——实际上只是它的提交消息,因为每个存储只是一个不在任何分支1上的提交——具有以下形式WIP on branch。因此,您可以运行 git stash list,然后在其输出上使用 filter 来提取包含分支名称的任何行。例如:

git stash list | grep s9feat

(请记住,grep 搜索任何子字符串,因此只要 s9feat 的长度足以区分有趣的隐藏和无用的隐藏,这就是我们在这里需要的全部内容)。

当然,如果您更改了藏匿处的标题,这将不起作用。由于分支名称对 Git 毫无意义且不相关,并且只出现在面向人类的消息部分,因此您需要更复杂的东西才能找到有趣的隐藏信息 - 除非,也就是说,您已经将这些更改后的标题中有趣的部分。


1从技术上讲,每个存储至少是两次提交。使用特定选项创建的存储添加 第三 提交以保存未跟踪的文件。