git 命令之git rebase 用法
阿新 • • 發佈:2019-02-07
1.出現情況的背景:
當你提交的程式碼後,管理員發現,您的程式碼不能提交到伺服器上,主要原因在於,你的commit 中和伺服器中的有些commit不再同一時間軸上,即:你的有些commit要插入到伺服器中的某些commit之間,這樣就會造成程式碼的衝突。所以這個時候就要使用git rebase。
假如,你平時使用的分支叫 new ,然後在這個分支上你剛提交過幾個commit。
做法:
1.新建一個分支,並且程式碼和伺服器中程式碼同步
git checkout origin/v2.0 -b temp
2.為了保證新建的temp分支程式碼是最新的,可以多執行下面一步
git pull
3.當你新建分支後,系統會自動checkout到temp分支上,此時
git checkout new
4.合併程式碼,並整理
git rebase temp //會將temp分支的程式碼合併過來,並按照提交的順序排序
5. 因為順序是重新整理的,所以肯定會出現衝突
6.解決衝突,最後 git add * ,但不許要git commit
7.解決後,執行 git rebase --continue
8.重新提交程式碼: git push for-*
注意:如果要對某些程式碼的commit重新整理
1. 可以記住某個commit號
2. git rebase -i commit號
3. 會顯示一個整理提交的介面,有很多引數,e。p。等等
4.將前面的引數改為e。則wq儲存後,系統會自動讓你重新修改commit內容
5.修改完成後,再git push for-*