1、先用git status 查看冲突文件
2、手动修改下冲突的文件
3、然后git add重新添加修改后的文件
4、然后使用 git rebase --continue
tips: 执行完$git pull --rebase 之后,本地如果产生冲突,手动解决冲突之后,用"git add"命令去更新这些内容的索引(index),然后只要执行:
$ git rebase --continue 就可以线性的连接本地分支与远程分支,无误之后就回退出,回到matser分支。
注意:一般情况下,修改后检查没问题,使用rebase continue来合并冲突。
5、git push origin master:refs/for/master 重新push修改过的文件
回到主题
执行完git pull --rebase之后如果有合并冲突,使用以下三种方式处理这些冲突:
git rebase --abort 会回到rebase操作之前的状态,之前的提交的不会丢弃;
git rebase --skip 则会将引起冲突的commits丢弃掉;
git rebase --continue 用于修复冲突,提示开发者,一步一步地有没有解决冲突,fix conflicts and then run "git rebase --continue"
对上述冲突的处理
1、使用 $git rebase --abort
执行之后,本地内容会回到提交之间的状态,也就是回到以前提交但没有pull是的状态,简单来说就是撤销rebase。
2、使用 $git rebase --skip
git rebase --skip 引起冲突的commits会被丢弃,对于本文应用的例子来说开发者A对c.sh文件的commit无效,开发者A自己修改的部分全部无效,因此,在使用skip时请慎重。
执行:$ vim c.sh
查看本地c.sh文件提交内容,展示如下图所示,执行语句之后开发者A的修改无效。
3、使用 $git rebase --continue
执行完$git pull --rebase 之后,本地如果产生冲突,手动解决冲突之后,用"git add"命令去更新这些内容的索引(index),然后只要执行:
$ git rebase --continue 就可以线性的连接本地分支与远程分支,无误之后就回退出,回到matser分支。
注意:一般情况下,修改后检查没问题,使用rebase continue来合并冲突。