git多個提交合並為一個commit


git rebase

在使用git做版本管理器的時候,有時候需要將多個commit合並成一個commit,因此這里記錄下具體的操作方法,便於查閱。

下面的例子,將add1、add2、add3、add4這4個commit合並成1個commit,具體步驟如下:

  1. 查看當前的提交信息

    執行命令:git log,可以查看當前的一些提交信息,這些提交按照時間先后順序為:add1、add2、add3、add4

  2. 合並多個commit

    執行命令:

    git rebase -i commit_id
    

    這里的commit_id是待合並的多個commit之前的那個commit ID,這里也就是最下面那個add1的commit ID。

    在我這里也就是執行命令:git rebase -i 727c14cd391a7ed88aefee,執行完命令后就進入到vi的編輯模式:

    上圖中,pick表示使用當前的commit,squash表示這個commit會被合並到前一個 commit。
    我們這里需要將add4、add3、add2,合並到add1中,因為add1是最靠近上一個commit_id的,因此這里選擇將add4,add3,add2合並到add1中。
    在鍵盤上敲i鍵進入insert模式,然后將add4,add3,add2前面的pick修改成squash:

    修改完成后,按esc鍵,冒號,輸入wq進行保存。之后會繼續跳轉到commit message 的編輯界面:

    將上圖中畫線的內容刪掉或者注釋,然后寫一個新的commit信息作為這4個commit的log信息,我這里的新的信息為:add1、add2、add3、add4,如下圖所示:

    然后保存退出,就會跳轉到最初的命令界面:

    Successfully表示操作成功。

  3. 查看新的commit信息

    執行命令:git log,查看當前的commit信息:

    從上圖中,可以看到,我這里已經將add1、add2、add3、add4這4個commit合並成1個新的commit。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM