rebase
首先在master上切出一个新分支,叫dev 最后统一合并到master上 |
步骤:
1.master上进行pull,确保本地是最新的
2.在dev上输入git rebase master
3.解决冲突,此时dev上提交了几次commit,我们就需要解决几次冲突,(这个时候不管谁先开发的,master分支上永远在下面)
4.git push -f强推
5.切换到master分支,执行git merge dev,那么master本地上代码就会有dev上开发的内容了
出现了一个问题,如果提交了很多次,那么解决多次冲突这个很麻烦
另一种步骤
1.master上进行pull,确保本地是最新的
2.在dev上先找到分叉点,git reset 到分叉点,将所有的commit改成一个commit(此时,所有的commit在远端都没有提交)
3.输入git rebase master,解决一次冲突
4.git push(甚至都不需要强推,如果远端有提交的了,那么就需要强推了)
5.切换到master分支,执行git merge dev,那么master本地上代码就会有dev上开发的内容了
强推
在dev分支上编写了xxx,已经提交到远端,在本地修改的时候采用了reset方法,将所有的commit提交 合并提交成了一个,这就造成远端和本地不同意,此时怎么办呢,强推即可 git push -f
但是强推的话,原来提交的5和6就没了