通过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