我在想是否有一种方法,当我将一个分支合并到另一个分支时,所有已更改的文件都列在我的提交消息中,而不仅仅是在两个分支中都被修改的那些。 通过查看合并提交,这将使我更好地了解分支中的更改内容。 有没有办法做到这一点?
答案 0 :(得分:58)
我不知道如何在提交消息中执行此操作。但是在合并之后,这将给出受合并提交影响的所有文件的名称:
git log -m --name-only
仅用于提交的文件名列表:
git log -m -1 --name-only --pretty="format:" <Merge SHA>
由于合并有一些空白区域有两个父母,但可以很容易地删除。
答案 1 :(得分:11)
您还可以使用diff
命令查看任意两次提交之间的差异。如果分支尚未合并,您可以指定分支名称并进行比较,否则您可能需要找到它们分散的位置(like so)之前的最后一次提交合并回来。
git diff --name-status <commit> <commit>
-name-status
仅显示已更改文件的名称和状态。
答案 2 :(得分:0)
假设您具有合并提交的SHA,然后
git diff --name-only <SHA>^1 <SHA>