获取一个文件的日志中所有已更改文件的名称

时间:2016-04-08 02:27:44

标签: git

尽管在命令行中指定了单个文件,但如何从一次提交中获取所有已更改文件的名称?

例如,如果我对整个仓库进行git log --name-only,我会得到这样的日志:

commit abc... HEAD
Author: Joseph Blow
Date:   Tue Feb 30 ...

    Very important Change

afile.c
anotherfile.c

但如果我这样做:git log --name-only afile.c,那么我明白了:

commit abc... HEAD
Author: Joseph Blow
Date:   Tue Feb 30 ...

    Very important Change

afile.c

尽管指定了一个文件,但我希望看到所有使用该提交更改的文件。

[edit]示例只是输出中的众多提交消息之一。

3 个答案:

答案 0 :(得分:2)

git log --name-only --full-diff afile.c

尽管名称不会显示完整差异,但意味着“请考虑所有文件,而不仅仅是指定的文件”。

答案 1 :(得分:0)

在git中,这可以通过两个命令完成。在您完成new Color(Color.HSBtoRGB(0, 0, (float)actualValue/maximumValueFromPGMHeader)) 以找到sha1后,您可以使用git log获取该提交中其他文件的名称。

答案 2 :(得分:0)

您可以将git loggit show合并,以便在一行中执行此操作;)

git show --name-only $(git log --format=%H -- your_filename.c)

Git show接受一个hash列表作为参数,git log with --format=%H生成一个涉及afile.c提交的hash列表,然后这个列表用作git show的输入。

我希望有帮助:D