【Git】Git 最重要最常用的場景使用與對應命令-rebase 合併兩個已經pr的commit

以下整理rebase的過程:
* 第一步,確認自己所在分支,必須注意,必須確認,確認,確認!
* 第二步:確定要rebase的commit的數量,不能蠻算。
    * 使用git log 命令,查看git操作記錄,確定要rebase的commit數量。

* 第三步:確定rebase的commit數量,執行命令
git rebase -i HEAD^^
* 第四步:進入rebase 的vi編輯模式
    * p, pick = use commit
    * r, reword = use commit, but edit the commit message
    * e, edit = use commit, but stop for amending
    * s, squash = use commit, but meld into previous commit
    * f, fixup = like “squash”, but discard this commit’s log message
    * x, exec = run command (the rest of the line) using shell
    * d, drop = remove commit
    * 注意,只需要,在第二個(此處是在兩個commit合併成一個commit的情況下執行的!)的commitId前面,將pick修改爲s(編譯器會自動將s 變成 squash),然後,wq!退出保存即可。
* 第五步:在第四步順利的情況下,可以直接git push -f 即可。
* 但是如果第五步失敗了!
    * 執行以下的操作!
        * 繼續執行 git rebase -i HEAD^^ --allow-empty
            * 此處的允許空,是根據提示報錯執行的,如果繼續報錯,但是其實可以看見,提示會變成,使用命令  git rebase —continue,繼續執行。
            * 此時因爲執行過git rebase —continue ,則繼續進入vi編輯模式,會看見,有兩個對應commitId的message。
            * 可以開始修改自己的message,然後保存退出。
        * 執行命令 git log,發現最新的commit已經變換
        * 執行命令 git status,查看當前git的命令
        * 最後執行 git push -f 
        * 查看遠程的GitHub的想對應的pr界面,發現 commit已經變換。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章