5

如何列出两个日期之间(或两次提交之间)提交中新添加的文件?我倒要看看

  1. 文件路径
  2. 提交者/提交消息
  3. 提交参考
4

3 回答 3

7

这就是我使用的:

git log --diff-filter=A --name-only --pretty=oneline --abbrev-commit ref1..ref2

此外,输出很容易解析。删除--abbrev-commit允许您将 SHA-1 用于某些工作。

于 2013-10-30T20:35:28.077 回答
6

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
于 2012-11-13T23:36:29.310 回答
4

您也可以使用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(他们可能在后台使用相同的基本信息),但我还没有弄清楚。

于 2012-11-14T00:03:15.367 回答