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

Git变基时如何合并提交至最后一次提交并保留其日期

解决Git合并提交时保留最后一次提交日期的问题

这问题我太熟悉了!你想要把多次临时提交合并到最后一次提交里,同时保留最后那次的提交日期,其实只要调整交互式变基里的操作逻辑就行,不用额外折腾日期设置。

具体步骤如下:

  1. 首先还是执行你熟悉的命令,进入交互式变基界面:
    git rebase -i HEAD~5
    
  2. 重点来了!这个界面里的提交是按时间从早到晚排序的——最早的提交在最顶部,你要保留的最后一次提交在最底部。
    • 你需要把前4次(也就是那些无需单独保留的快速提交)的指令从pick改成squash(或者简写s);
    • 一定要让最后一次提交保持pick不动,它就是你最终要保留的那个基准提交。
    • 修改后的界面大概是这样:
      squash abc123 第一次临时提交
      squash def456 第二次临时提交
      squash ghi789 第三次临时提交
      squash jkl012 第四次临时提交
      pick mno345 最后一次提交(要保留日期的那次)
      
  3. 保存并退出编辑器后,Git会自动把前4次提交的内容合并到最后一次pick的提交中,而且最终提交的日期会直接沿用最后那次提交的日期,完全符合你的需求!

额外小提示

如果之后你不小心搞反了操作,或者需要手动调整提交日期到最后一次的时间,也可以用这条命令(不过上面的方法已经足够,一般用不到):

git commit --amend --no-edit --date="$(git log -1 --format=%cd)"

另外要注意:变基前确保本地没有未提交的修改,而且因为你是第一次推这个分支,变基后直接git push就好,不用加-f(如果分支已经推过远程,强行变基推送会影响协作,不过你的场景没问题)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:31:28