git - git 中有没有办法获取给定提交的推送日期?

标签 git github git-push

我想知道是否有办法在 git 日志中查看与每个提交关联的推送日期。如果那不可能,有没有办法查看某个推送下的所有提交。

我正在编写一个程序,需要在推送时跟踪提交。因为 git 日志是按提交日期而不是推送日期排序的,所以我看不到推送的最新提交。例如,如果用户在推送到主存储库之前 2 天提交到他的本地存储库,则该提交将在主存储库日志中放置在其他提交的 2 天之后。

最佳答案

我花了很长时间收集零散的信息并最终找到了这个问题的最佳答案,但现在我知道我找到了。仅两行,没有代码也没有钩子(Hook):

# required for a bare repo
git config core.logAllRefUpdates true

git reflog --date=local master

终于简单了。

警告:您可能想要覆盖 gc.reflogExpiregc.reflogExpireUnreachable 的默认值。查看 git help reflog 了解详细信息并了解其工作原理和原因。

上面的两个命令必须在您推送到的克隆中运行。如果那不可能,则近似将在另一个永久克隆中运行:

git fetch               origin        # often and *regularly*
git reflog --date=local origin/master

切勿删除此永久克隆,否则您将丢失日期。

关于git - git 中有没有办法获取给定提交的推送日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6795070/

相关文章:

git - 嵌套gradle git命令

git - 为什么存储表示为 2 次提交?

linux - 如何检测子模块中父 Git 存储库的正确 GIT_DIR 和 GIT_WORK_TREE

bash - GitHub 操作 : Passing JSON data to another job

Git 在修改提交后阻止推送

Git 使用自定义消息将所有提交作为单个提交推送

git - 如何停止从给定的远程获取给定的分支?

github - 在 Github 页面上使用 MathJax?

github - 无法使用 GitHub Desktop checkout 远程分支

xcode - 使用 Xcode 9 推送标签