如何将某分支的所有提交记录压缩成一个 commit

2020-03-15  本文已影响0人  南国的小狼

操作步骤

  1. 快速找到 first commit 的 commitId,假如找到的 commitId = 38128d5

    git log --oneline | tail -1
    
  2. 将分支软回退到 firstCommitId = 38128d5,软回退将使得所有需提交的内容在暂存区保留,不会回退到工作区

    git reset --soft 38128d5
    
  3. 将暂存区内容添加到最近一次提交,即 firstCommit 记录上

    git commit --amend
    
  4. push 到远端仓库,进行同步

    git push -f
    

注意

上述步骤的 1、2、3 步可合并为如下一条命令:

git log --oneline | tail -1 | awk '{print $1}'| xargs git reset --soft && git commit --amend

如需修改提交信息,修改完毕 :wq 保存退出即可;如不需修改提交信息,直接 :wq 保存退出即可

然后执行上述第 4 步,push 到远端,进行同步,该操作会覆盖远端分支的提交历史,请自行确认操作风险

上一篇下一篇

猜你喜欢

热点阅读