如何列出两个日期之间(或两次提交之间)提交中新添加的文件?我想看看
答案 0 :(得分:6)
这就是我使用的:
git log --diff-filter=A --name-only --pretty=oneline --abbrev-commit ref1..ref2
此外,输出很容易解析。删除--abbrev-commit
允许您将SHA-1用于某项工作。
答案 1 :(得分:5)
git log --stat
提供了一个很好的提交摘要,其中包含已更改文件的详细信息:
commit bde0ce475144ec85a1cb4ffeba04815412a07119
Author: Stephen Holdaway <xxxxx@xxxxx.com>
Date: Thu Sep 20 13:55:12 2012 +1200
fix default rotation issue
Menus/MainMenuViewController.m | 17 +++++++++++++----
Menus/PostGameViewController.m | 14 +++++++++++++-
Menus/StatsMenuController.m | 10 +++++-----
4 files changed, 31 insertions(+), 11 deletions(-)
您可以在两个日期之间尝试:
git log --since "10 Sep 2012" --until "12 Nov 2012" --stat
这是两次提交之间的事情:
git log --stat xxxxxxx..xxxxxxx
答案 2 :(得分:3)
您也可以使用git show
。它与git log
类似,但有一个--name-status
参数,一次性为您提供路径名和添加/修改/删除的标记(请注意,第一个答案中描述的git log
是不限于新文件,也不显示状态指示符。
$ git show --pretty=fuller --name-status HEAD^..HEAD
commit 3c92149119e69b4520b4ea317f221aade9f41b0e
Author: John Doe <xxxx@xxxxxx>
AuthorDate: Fri Nov 9 15:46:05 2012 -0600
Commit: John Doe <xxxx@xxxxxx>
CommitDate: Fri Nov 9 15:46:05 2012 -0600
Added some files, modified some other files
A src/main/java/com/test/app/NewFile1.java
A src/main/java/com/test/app/NewFile2.java
M src/main/java/com/test/app/OldFile1.java
M src/main/java/com/test/app/OldFile2.java
可能会使用git log
获取此信息(他们可能在引擎盖下使用相同的基本信息),但我还没弄明白。