从远程获取上个月在git分支上提交的文件列表

时间:2015-10-24 01:35:14

标签: git

我试图在上个月为主分支获取github repo上已更改的所有文件的列表。我的本地克隆没有返回那么远的日志,所以当我运行以下命令时:

git diff --stat @{1.month.ago}

...我收到一条警告信息,以及一小部分更改。我也尝试过:

git diff --stat @{1.month.ago} origin
git diff --stat @{1.month.ago} origin/master
git diff --stat @{1.month.ago} origin master

......结果相同。

如何从命令行收集此列表?

1 个答案:

答案 0 :(得分:1)

获取不依赖于reflog的diff的唯一方法是在正确的提交之间进行差异。

如" How can I get the diff between all the commits that occurred between two dates with Git?"中所述,在您的情况下,正确的提交是(使用git rev-list):

git rev-list -n1 --first-parent --until=<a date string> <a ref>
git rev-list -n1 --first-parent --until="1 month ago" HEAD

那是:第一次提交是一个月大。

然后差异就是:

git diff --stat $(git rev-list -n1 --first-parent --until="1.month.ago" HEAD)