GIT rebase講解


對分支進行rebase

  1. 從master分支checkout出fork分支,並在master和fork上都進行了一些修改

  2. 現在fork分支想要及時的同步master分支上的修改,避免在已經失效的代碼上繼續工作

  3. 該過程總的提交樹變化如下:

對一段commit進行整理(squash)

  很多開源項目要求參與者在發起RP前對本次的commit進行squash,關聯上該RP的issue編號,下面看下如何達到此目的:

  1. 首先我在fork分支上進行了隨意的兩次commit

  2. 然后使用git rebase -i命令進行整理

    命令格式:

    git rebase -i <startpoint> <endpoint>
    

    需要注意<startpoint> <endpoint>是左開右 閉,所以<startpoint>應該是你需要整理的commit的上一 次提交id。

    git rebase -i e14ed9d^ 342889d
    

    把除去第一行的其他行的pick命令修改為squash命令

    然后按照相關開源項目要求編輯整理后的comment注釋

  3. 最好查看提交記錄確認提交歷史已經改變

  4. 此時HEAD處於了游離狀態,所以我們需要把fork分支的HEAD重置到最后的commit


免責聲明!

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



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