You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看Git推送时间?git lg仅显示提交时间无法满足需求

查看Git推送时间的方法

Git本身不会默认记录推送操作的时间(推送是本地仓库与远程仓库的交互动作,不属于提交对象的元数据),git lg这类日志命令只能显示提交的创建/修改时间,无法直接获取推送时间。以下是几种可行的解决方案:

1. 通过远程托管平台查看(最直接)

如果你的代码托管在GitHub、GitLab、Gitee这类平台上:

  • 进入仓库的「Commits」页面,每个提交条目旁会显示该提交被推送到当前分支的时间,包括其他协作者的推送记录。
  • 部分平台还支持在分支页面查看分支的更新时间,间接反映最近一次推送的时间。

2. 本地自定义记录推送时间

如果需要在本地追踪推送时间,可以通过Git钩子实现自动记录:

  • 在本地仓库的.git/hooks/目录下创建post-push文件(无后缀),写入以下内容:
    #!/bin/bash
    # 记录推送时间、目标远程仓库和分支
    REMOTE="$1"
    BRANCH="$2"
    TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S %Z')
    echo "[$TIMESTAMP] Pushed to $REMOTE/$BRANCH" >> .git/push-history.log
    
  • 给钩子添加执行权限:
    chmod +x .git/hooks/post-push
    
  • 之后每次推送后,推送记录会自动写入.git/push-history.log,查看时直接执行:
    cat .git/push-history.log
    
    注意:这个方法只能记录本地发起的推送,无法获取他人的推送时间。

3. 区分提交时间与推送时间

  • git lg(通常是git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit的别名)显示的是提交的作者时间(author date)或提交者时间(committer date),这两个时间是提交创建时的时间,和推送时间没有直接关联。
  • 若要确认某个提交是否已推送到远程,可使用:
    # 查看本地分支比远程分支多的提交(未推送)
    git log --oneline origin/<分支名>..<本地分支名>
    # 查看远程分支比本地分支多的提交(他人推送的未拉取)
    git log --oneline <本地分支名>..origin/<分支名>
    

内容的提问来源于stack exchange,提问作者user21044780

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 19:15:38