给定一段时间(例如一天、一周、一个月),是否可以列出在此期间修改或添加的所有文件?
问问题
32368 次
7 回答
50
我会使用 diff 直接产生文件列表,例如:
git diff --name-only "@{3 days ago}" "@{2 days ago}"
changelog.txt
newfile.txt
如果您想知道修改或添加了哪个文件,请改用 --name-status :
git diff --name-status "@{3 days ago}" "@{2 days ago}"
M changelog.txt
A newfile.txt
于 2011-11-04T23:19:33.073 回答
44
也许是这样:
git log --since="1 day ago" --name-only --pretty=format: | sort | uniq
包括--until
如果你想要一天、一周等。
于 2011-11-04T23:01:03.887 回答
34
我用它来获得一个干净的列表:
git whatchanged --since '04/14/2013' --until '05/22/2014' --oneline --name-only --pretty=format: | sort | uniq >> changedlist.txt
于 2014-05-22T10:53:26.830 回答
12
Gitwhatchanged
应该给你你想要的,列出哪些文件被修改了。
这是一个使用 Git 源代码的示例:
$ git --version
git version 1.7.8.rc0.35.gee6df
$ git whatchanged --since '10/27/2011' --until '10/30/2011' --oneline
55e7c0a (squash) test for previous
:100755 100755 dbf623b... 53905a2... M t/t8006-blame-textconv.sh
2564aa4 blame.c: Properly initialize strbuf after calling, textconv_object()
:100644 100644 173f286... e39d986... M builtin/blame.c
e8e1c29 Update draft release notes to 1.7.8
:100644 100644 3045245... ddb8d37... M Documentation/RelNotes/1.7.8.txt
8debf69 clone: Quote user supplied path in a single quote pair
:100644 100644 488f48e... efe8b6c... M builtin/clone.c
于 2011-11-05T16:35:07.113 回答
6
这是另一个没有空行的:
git log --after="2015-11-05T16:36:00-02:00" --before="2015-11-15T16:36:00-02:00" --pretty=format:"" --name-only | sed '/^\s*$/d' | sort | uniq -u
于 2015-11-17T09:42:04.913 回答
5
尝试:
git log --since="2 days ago" --until="1 days ago"
如果您省略--until
,您将获得最近两天的日志。您还可以指定周、月等。您还可以将 git diff 与 --since 和 --until 参数一起使用。在输出格式上工作一点,你就完成了。
于 2011-11-04T23:00:34.807 回答
0
Git BASH 命令
git whatchanged --since '11/24/2017' --until '11/29/2017' --oneline --name-only --pretty=format: | sort | uniq >> changedlist.txt
于 2019-07-24T09:46:24.810 回答