git解决冲突
git冲突的场景
- 情景一:多个分支代码合并到一个分支上(比如a分支将b分支上的代码通过
git merge
合并到a上面)时 - 情景二:多个分支向同一个远程分支推送代码时
实际上,push操作即是将本地代码merge到远程分支上。
push:其实就是用本地分支合并到远程分支
pull:就是将远程分支合并到本地分支
git的合并中产生冲突的具体情况
- 两个分支中修改了同一个文件(不管是在什么地方)
- 两个分支中修改了同一文件的名称
两个分支中分别修改了不同文件中的部分,不会产生冲突,可以直接将两者合并
冲突的解决办法
- 情景一:在当前分支上,直接修改冲突代码(解决冲突)–>add–>commit
- 情景二:在本地分支上,修改冲突代码(解决冲突)–>add–>commit->push
可以在idea上面直接找到冲突,并修改
列举项目中的冲突,如下:(在idea上面演示)
- 查询当前本地分支
绿色为当前本地分支,黑色为其他本地分支 - 合并其他分支
git merge:在默认情况下,git执行“快进式合并”(fast-farward merge),会直接将Master分支指向Develop分支。使用--no--ff
参数,在Master分支(a分支)上生产一个新的节点。为保证版本演进的清晰,建议使用这种方法。 - 查找冲突文件
- 手动解决冲突
- 提交本地仓库
如果是远程分支的话,解决冲突的方式大致一样,但是需要再次push到远程!!
参考文章:https://blog.csdn.net/weixin_44156901/article/details/86493924