考虑到以下最近的历史记录,是否可以通过类似于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 提交。
答案 0 :(得分:1)
是:HEAD^
的意思是HEAD^1
,这意味着abcdef1
的第一个父元素是fedcbca1
,而HEAD^2
的意思是abcdef1
的 second 父级,beeg00d
。从第二个父级到另一个^1
到c0ffee1
,第三个^1
到e3ca62a
。 (四分之一返回到fedcba1
。)
因此:
HEAD^2^1^1
例如选择e3ca62a
。
只要您有^1
,就可以放下1
,并输入:
HEAD^2^^
每次依次重复 n ^
个字符时,都可以将其替换为~n
,得到:
HEAD^2~2
尽管在这种情况下,它至少比键入两次^
短。