如何將某分支的所有提交記錄壓縮成一個 commit

操作步驟

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

    git log --oneline | tail -1
    
  2. 將分支軟回退到 firstCommitId = 38128d5,軟回退將使得所有需提交的內(nèi)容在暫存區(qū)保留,不會回退到工作區(qū)

    git reset --soft 38128d5
    
  3. 將暫存區(qū)內(nèi)容添加到最近一次提交,即 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 保存退出即可

然后執(zhí)行上述第 4 步,push 到遠端,進行同步,該操作會覆蓋遠端分支的提交歷史,請自行確認操作風險

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Add & Commit git init 初始化一個 Git 倉庫(repository),即把當前所在目錄變成...
    冬絮閱讀 5,132評論 0 9
  • 輸入 y ,創(chuàng)建 git_hug 目錄No githug directory found, do you wish...
    風花花閱讀 2,117評論 0 4
  • 第一部分是文檔,為了日后查看方便放到了前邊[可能敲錯了,詳見阮一峰老師的文章]http://www.ruanyif...
    白璞1024閱讀 1,139評論 0 49
  • 以下筆記主要參考gitgot,大致了解git使用和原理。 第一部分我們從個人的視角去研究如何用好Git,并且揭示G...
    carolwhite閱讀 2,526評論 0 1
  • clear : 終端清屏command + k : 終端清屏 添加配置 git config [--local |...
    MrSYLong閱讀 313評論 0 2

友情鏈接更多精彩內(nèi)容