我想知道是否有一种方法可以查看与 git 日志中每个提交相关的推送日期。如果这是不可能的,有没有办法查看某个推送下的所有提交。
我编写了一个程序,需要在推送时跟踪提交。因为 git 日志是按提交日期而不是推送日期排序的,所以我无法看到推送的最新提交。例如,如果用户在推送到主存储库前 2 天提交到本地存储库,则该提交将被放置在主存储库日志中其他提交的 2 天之后。
我花了非常长的时间来收集分散的信息并最终找到这个问题的最佳答案,但现在我知道我已经找到了。只需两行,没有代码,也没有钩子:
# required for a bare repo
git config core.logAllRefUpdates true
git reflog --date=local master
最后很简单。
警告:您可能想要覆盖默认值gc.reflogExpire
and gc.reflogExpireUnreachable
. Check git help reflog
了解详细信息并了解其工作原理和原因。
上面两条命令必须运行在您推送到的克隆内。如果这是不可能的,那么近似就是跑在另一个地方,永恒的 clone:
git fetch origin # often and *regularly*
git reflog --date=local origin/master
切勿删除此永久克隆,否则您将丢失日期。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)