通过git show轻松访问合并的提交?

时间:2019-02-21 02:55:04

标签: git

考虑到以下最近的历史记录,是否可以通过类似于git show HEAD^的方式来访问与HEAD中的合并提交合并的任何提交?

*   abcdef1 (HEAD -> master, origin/master, origin/HEAD)  Merge pull request #242 from features/blah-blah-blah
|\
| * beeg00d (origin/features/api-v3, features/api-v3) ✨ upgrade app to API v3
| * c0ffee1  add feature flags
| * e3ca62a  update whoosiwhatsit gem to version 3.0
|/
*   fedcba1  Merge pull request #241 from features/yada-yada-yada

换句话说,git show HEAD将显示有关abcdef1提交的信息,而git show HEAD^将显示有关fedcba1的信息,但是我想看到beeg00d和{{1 }},而不必一个字一个字符地输入井号(或者用我的鼠标复制并粘贴更糟)。是否可以通过类似于c0ffee1的便捷速记来访问那些提交?

我不想看到 merge 提交,我想看到 merge d 提交。

1 个答案:

答案 0 :(得分:1)

是:HEAD^的意思是HEAD^1,这意味着abcdef1第一个父元素是fedcbca1,而HEAD^2的意思是abcdef1 second 父级,beeg00d。从第二个父级到另一个^1c0ffee1,第三个^1e3ca62a。 (四分之一返回到fedcba1。)

因此:

HEAD^2^1^1

例如选择e3ca62a

只要您有^1,就可以放下1,并输入:

HEAD^2^^

每次依次重复 n ^个字符时,都可以将其替换为~n,得到:

HEAD^2~2

尽管在这种情况下,它至少比键入两次^短。