我可以在两个分支之间git diff一个文件子集

时间:2015-09-30 18:13:22

标签: git

git diff branch..branch1将生成两个分支之间的所有差异。

有没有办法区分给定的文件列表?

'git diff branch..branch1 filename'只能为一个文件执行此操作,如果我想提供文件列表该怎么办?

3 个答案:

答案 0 :(得分:1)

你可以这样做:

git diff branch..branch1 -- file1 file2

因此,如果您有文件列表,则可以使用shell扩展(例如,在bash中)枚举文件列表的内容。

> cat filelist
file1
file2
> echo $(cat filelist)
file1 file2
> git diff branch..branch1 -- $(cat filelist)

最终命令应该是您正在寻找的内容。

答案 1 :(得分:0)

您可以将-- <path> <path>等添加到git diff

答案 2 :(得分:0)

您可以使用glob模式。例如,如果您具有以下文件夹结构

  -project
    -client
      -...more folders
    -server
      -...more folders

从项目文件夹中,您可以运行以下命令:

git diff client/**

它会为您提供客户端文件夹和子文件夹中所有内容的差异,但忽略服务器文件夹。