我试图在上个月为主分支获取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
......结果相同。
如何从命令行收集此列表?
答案 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)