通過Git座版本管理,開發之前需要在master分支下面切一個新的分支,之後的開發全部都在這個分支上進行。假設開發過程需要一個月,一個月過後,master分支整合了好多其他同僚們送出的代碼。如何把他們的代碼整合到我們自己的開發分支上面呢。這就會用到git rebase。
操作步驟
1. 先保證本地的開發分支和master分支都是最新的code
2. 切換到你現在開發的分支,在git指令中輸入:git rebase origin/master
3. 這樣就會把你現在正在開發的分支中已經寫好的代碼與最新的master分支的代碼合并在一起
4. 合并的過程中可能會涉及很多沖突需要解決。
輸入 git status 顯示沖突的檔案,然後找到那個檔案解決沖突。git status如果不顯示沖突檔案,但又處于rebase狀态,輸入git rebase --skip
輸入git add [檔案名],這樣才算解決一個沖突,
輸入 git rebase --continue ,繼續git status .......
直到所有的沖突全部解決
5:解決完沖突後,推送到遠端庫。>git push --force
6:完成
如何終止rebase操作:
輸入 git rebase --abort ,回到最初的狀态,前面解決的所有沖突都會恢複到以前的狀态
如何檢視rebase完成了呢?
git branch看看自己是否在開發分支,如果回到開發分支,就是rebase完成。
如果rebase沒有完成,git branch不會在開發分支,會在rebase新開的一個臨時的分支裡面。
git branch -vv 檢視自己的分支,以及自己的分支與遠端分支落後多少個檔案,如果落後了就git pull,解決沖突。
git push失敗,可能是本地這個分支有一些檔案落後遠端分支,需要git pull