我在自己的開發(fā)分支上姑丑,而master分支上面有很多提交,現(xiàn)在需要我把master上面的更改rebase到自己的分支。
查看分支
$ git branch
* dbg_lichen_comment
master
我現(xiàn)在在自己的分支上对碌,切換分支
$ git checkout master
再次查看分支
$ git branch
dbg_lichen_comment
* master
拉取master上面的最新代碼
$ git pull --rebase
再切換回自己的分支
$ git checkout dbg_lichen_comment
執(zhí)行rebase變基
$ git rebase master
...
Auto-merging app/build.gradle
CONFLICT (content): Merge conflict in app/build.gradle
...
When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
出現(xiàn)了沖突,如提示的一樣蒿偎,--continue表示繼續(xù)朽们;--skip表示跳過;--abort表示中斷诉位。
解決了沖突之后骑脱,嘗試--continue
$ git rebase --continue
app/build.gradle: needs merge
You must edit all merge conflicts and then
mark them as resolved using git add
就像提示說的一樣,需要add表示已經(jīng)解決沖突苍糠。
此時我查詢一下當(dāng)前狀態(tài)
$ git status
rebase in progress; onto 726ee8d
You are currently rebasing branch 'dbg_lichen_comment' on '726ee8d'.
(fix conflicts and then run "git rebase --continue")
(use "git rebase --skip" to skip this patch)
(use "git rebase --abort" to check out the original branch)
提示正在rebase的過程中叁丧,此時頭指針處于游離態(tài)。
那么,我add一下已經(jīng)解決了沖突的文件
$ git add app/build.gradle
之后拥娄,我再次嘗試continue(如果有多個沖突坷衍,則會反復(fù)執(zhí)行上一步操作)
$ git rebase --continue
Applying: 【Sprint6.0】【feature開發(fā)】【story=newsAnd-14】abc
Applying: 【Sprint6.0】【feature開發(fā)】【story=newsAnd-14】123
此時,已經(jīng)成功完成了rebase条舔,然后push
$ git push origin :dbg_lichen_comment // 先刪除遠程分支
$ git push origin dbg_lichen_comment:dbg_lichen_comment // 再push