git rebase的小应用

1,237 阅读1分钟

两种情况:

  • 同分支的rebase(当本地有提交需要push到远端,但分支的提交落后于远端的分支时):
  1. 可以先用git pull,再使用git rebase,或者更简单的,使用git pull --rebase,可以使得分支与远端合并还保持一条直线。

  2. 如上述操作后,若产生冲突,则先修改冲突,然后执行git add,再执行git rebase —continue即可

  • 不同分支的merge产生冲突,但又希望合并后还处于一条直线上:
  1. 先切换到需要进行合并的分支,执行git rebase xxx,xxx表示需要合并过去的主分支。因为有冲突,故先修改冲突,然后执行git add,再执行git rebase —continue。此时分支已经与主分支合并在一起并处于一条直线上。

  2. 再切换至主分支,先将历史回退到产生冲突之前的提交,然后对分支执行git merge操作,此时主分支已经把分支完美地合并进来并且处于一条直线上。

注意:如果你合并到远端的非线性提交已经被其他人使用并在此之上又增加了新的提交,那就不建议再改动分支了,切记!