git:列出一天(或周/月......)添加/修改的所有文件

时间:2011-11-04 22:53:47

标签: git git-log

给定一段时间(例如一天,一周,一个月),是否可以列出此时修改或添加的所有文件?

7 个答案:

答案 0 :(得分:34)

我会使用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

答案 1 :(得分:30)

也许这个:

  git log --since="1 day ago" --name-only --pretty=format: | sort | uniq

如果您想要一天,一周等,请加入--until

答案 2 :(得分:20)

我用它来获得一个干净的清单:

git whatchanged --since '04/14/2013' --until '05/22/2014' --oneline --name-only --pretty=format: | sort | uniq >> changedlist.txt

答案 3 :(得分:11)

Git whatchanged应该为您提供所需内容,列出修改过的文件。

以下是使用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

答案 4 :(得分:4)

尝试:

git log --since="2 days ago" --until="1 days ago"

如果省略--until,您将获得最近两天的日志。你也可以花费几周,几个月等时间。你也可以使用git diff和--since和--until参数。稍微处理输出格式化,你就完成了。

答案 5 :(得分:4)

这是另一个没有空行:

mTextView.setPaintFlags(mTextView.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG);

答案 6 :(得分:0)

Git BASH命令

git whatchanged –自'11 / 24/2017'–直到'11 / 29/2017'–oneline --only-name --pretty = format:|排序uniq >> changedlist.txt