从Git提交历史日期明智地检索已更改的文件

时间:2014-09-15 14:59:18

标签: git

假设这是git commit history

2014年8月18日提交 - 更改文件

/dir1/subdir1/file5.ext

2014年8月17日提交 - 更改文件

/dir1/file4.ext

2014年8月16日提交 - 更改文件

/dir1/subdir1/subdir2/file1.ext
/dir1/subdir1/subdir2/file2.ext
/dir1/subdir1/file3.ext

2014年8月15日提交 - 更改文件

/dir1/subdir1/subdir2/file1.ext
/dir1/subdir1/subdir2/file2.ext

2014年8月14日提交 - 更改文件

/dir1/file25.ext

是否有git命令/选项,我可以指定从

中检索所有已更改的文件 8月15日至8月17日,它必须只检索和下载这些文件

/dir1/subdir1/subdir2/file1.ext
/dir1/subdir1/subdir2/file2.ext
/dir1/subdir1/file3.ext
/dir1/file4.ext 

请告知

由于

1 个答案:

答案 0 :(得分:0)

git diff --name-only <SHA1> <SHA2> 

显示提交之间的差异(仅文件名,reference

此外,您可以使用@ \ {YYYY-MM-DD \}(以及其他格式,reference)按日期引用提交

因此,要显示文件已更改“从8月15日到17日”,您可以写:

git diff --name-only @\{2014-08-15\} @\{2014-08-17\}

注意:

  • 准确地说,引用说\ {date \})指定了先前时间点的ref值

  • 您还可以查看

    git whatchanged --since =“2014-08-15”--until =“2014-08-17”

    但它返回提交列表,其中git diff返回to提交之间的修改。