例如, 在B分支上做rebase。
git rebase 之前确保当前分支是最新的。
切换到B分支:
1.git rebase origin/master(以origin/master分支为基线,合入master分支的修改到origin/master)此时会提示冲突文件
2.对冲突文件进行修改
3.git add
4.git commit
5.git rebase --continue(继续合并。合并的过程中,还有可能产生冲突。解决方法同上。)
6.git push (冲突解决完之后。推送到远端服务器)
如果本地有A分支的工作空间,可以不加origin,但要确保A分支是最新拉取的。
如果有冲突,会提示CONFLICT,指明哪个文件有冲突。需要手动打开该文件,搜索关键字“>>”或者“head”查找冲突的地方,并解决。
- git status 也可以查看哪些文件正常rebase,哪些文件有冲突
git add .
git commit
git rebase --continue
处理完冲突以后千万不能git pull,这样会引起新的冲突,继续执行rebase,确保所有的改动都rebase完成。
git push
直接push可能会报错
git push -f
git log查看历史记录,确保是无误后,可以使用 git push -f 强制推送到远端。
7
rebase 过程中可能会分批次进行,同一个文件可能会rebase多次。每解决一次冲突之后,继续执行 git rebase --continue 直到提示successfully.