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

如何设置Git永久保持commit-date与author-date一致,求对应命令

Git 永久让commit-date与author-date保持一致的解决方案

修正存量历史提交的命令

如果需要将当前仓库所有分支、标签的历史提交的commit-date全部同步为对应author-date,执行以下命令:

git filter-branch --env-filter 'export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"' --tag-name-filter cat -- --all

注意:该操作会重写所有提交的哈希值,若仓库已经推送至远程公共仓库,执行后需要用git push --force --all强制推送所有分支,git push --force --tags强制推送所有标签,同时需要通知所有协作者删除本地旧仓库重新克隆,或者执行变基操作同步新的提交链。


后续新提交永久自动同步配置

要实现后续所有新提交、变基、cherry-pick操作自动保持commit-date与author-date一致,添加以下全局配置即可:

  • 配置commit命令别名,提交时自动同步日期:
    git config --global alias.commit '!f() { export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; git commit "$@"; }; f'
  • 配置rebase命令别名,变基时自动保留author-date作为commit-date:
    git config --global alias.rebase 'rebase --committer-date-is-author-date'
  • 配置cherry-pick命令别名,拣选提交时自动同步日期:
    git config --global alias.cherry-pick 'cherry-pick --committer-date-is-author-date'

配置完成后日常使用对应Git命令无需额外加参数,即可自动保持两个日期一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:30:01