57

我在想是否有一种方法可以在我将一个分支合并到另一个分支时,所有更改的文件都列在我的提交消息中,而不仅仅是在两个分支中修改的文件。通过查看合并提交,这将使我更好地了解分支中的更改。有没有办法做到这一点?

4

3 回答 3

85

我不知道如何在提交消息中做到这一点。但是在合并之后,这将给出受合并提交影响的所有文件的名称:

git log -m --name-only

仅对于提交的文件名列表:

git log -m -1 --name-only --pretty="format:" <Merge SHA>

由于合并有两个父级,因此存在一些空白,但可以轻松删除。

于 2013-02-05T21:23:42.983 回答
14

您还可以使用该diff命令查看任意两次提交之间的差异。如果分支尚未合并,您可以指定分支名称并比较它们,否则您可能需要在它们重新合并之前找到它们分歧的位置像这样)以及最后一次提交。

git diff --name-status <commit> <commit>

-name-status仅显示更改文件的名称和状态。 

于 2013-02-05T21:28:55.043 回答
3

假设你有你的合并提交的 SHA,那么 git diff --name-only <SHA>^1 <SHA>

于 2019-10-22T11:59:40.117 回答