如果 my-feature-branch
已合并到 my-main-branch
,我如何查看从 my-feature-branch
合并了哪些提交?
git log abc123^..abc123
显示合并到 merge-commit abc123
中的提交。
创建一个 git
别名 log-merge
以便于重复使用:
$ git config --global alias.log-merge \
'!f() { git log --stat "$1^..$1"; }; f'
$ git log-merge abc123
对于单行版本:
$ git config --global alias.log-merge-short \
'!f() { git log --pretty=oneline "$1^..$1"; }; f'
如果您想查看上次合并中合并的每个提交,您可以尝试:
git log $(git merge-base --octopus \
$(git log -1 --merges --pretty=format:%P)).. --boundary
这是我当前日志的示例:
$ git log --graph --pretty=oneline --abbrev-commit
* 44899b9 pouf
* 8f49f9c Merge branch 'test'
|\
| * 3db39ca test
* | 69f431c pif
* | df1f51c lala
|/
* 8fae178 pif2
* 20f8ba6 init
如果我只想要与最后一次合并相关的提交,我必须使用 git log -1 --merges --pretty=format:%P
这给了我第一个可用合并的父母:
$ git log -1 --merges --pretty=format:%P
69f431cec7859b61d33c7503c9431ceea2aaf3e0 3db39ca3ab1e8f70462db23d94590628b5e7ad7b
现在我知道我需要跟踪哪些父母,我需要他们可以通过 git merge-base --octopus
获得的共同基础(--octopus 以防万一):
$ git merge-base --octopus \
$(git log -1 --merges \
--pretty=format:%P)
8fae178666e34a480b22e40f858efd9e7c66c3ca
现在使用 git log
,我可以搜索自当前 HEAD
的基础以来的每个提交:
$ git log $(git merge-base --octopus \
$(git log -1 --merges --pretty=format:%P)).. \
--boundary --graph --pretty=oneline --abbrev-commit
* 44899b9 pouf
* 8f49f9c Merge branch 'test'
|\
| * 3db39ca test
* | 69f431c pif
* | df1f51c lala
|/
o 8fae178 pif2
如果你有点完美主义,你也可以这样做:
$ git log
$(git merge-base --octopus \
$(git log -1 \
--merges --pretty=format:%P))..$(git log -1 --merges --pretty=format:%H) \
--boundary --graph --pretty=oneline --abbrev-commit
* 8f49f9c Merge branch 'test'
|\
| * 3db39ca test
* | 69f431c pif
* | df1f51c lala
|/
o 8fae178 pif2
现在我想我会把它作为别名:)
--graph --pretty=oneline --abbrev-commit
选项是可选的。
资源 :
Git 合并基础
Git 日志
Git 修订版
git log --graph --oneline
是 git log --graph --pretty=oneline --abbrev-commit
的快捷方式。
如果您有一个合并提交(比如 a2345
)并说 git log -1 a2345
,它会告诉您父级的名称(即在此提交中合并的提交)。那是你要找的吗?
-1
。删除它,您将获得常规日志。
-1
它会显示所有提交消息的所有日志,这似乎没有用
不定期副业成功案例分享
$ git config --global alias.merge-log-short '!f() { git log --pretty=oneline "$1^..$1"; }; f'