我正在尝试获取上个月在 master 分支的 github 存储库上更改的所有文件的列表。我的本地克隆没有可以追溯到那么远的日志,因此当我运行以下命令时:
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
...结果相同。
如何从命令行收集这个列表?
获得不依赖于引用日志的差异的唯一方法是在正确的提交之间进行差异。
正如“如何使用 Git 获取两个日期之间发生的所有提交之间的差异? https://stackoverflow.com/a/10692666/6309“,就您而言,正确的提交是(使用git rev-list http://git-scm.com/docs/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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)