使用Git命令解决冲突过程

首先要git pull 拉取线上的代码,但是有冲突肯定会报错,然后我们在合并主分支git merge master合并之后我们使用git status -uno查看一下状态:

有三种状态,已经commited的,还有就是Unmerged path路径下的文件,就是我们需要手动合并的,没有冲突的会Auto-Mergeing(自动合并)。

我们手动合并Unmerged path下的两个文件:

$ vim LocationController.JAVA

$ vim SysService.java

打开文件后会发现,代码中会被<<<<<<< 、=======、>>>>>>>包围,这是冲突标记:冲突标记<<<<<<< 与=======之间的内容是我的修改,=======与>>>>>>>之间的内容是别人的修改。 

修改完两个文件后分别将文件git add添加到暂存区

$ git add LocationController.java

$ git add SysService.java

然后统一git commit将修改合并的文件添加到工作区:

$ git commit -m "conflictJava"

再用git status -uno查看文件状态 

发现Unmerged path文件已经没有了,我们直接git push提交到远程仓库:

$ git push origin master

IDEA界面操作

 在拉取仓库代码时,出现冲突了。

出现两个单选框
1.选择Merge 的话就是合并冲突

2.选择Rebase 的话就是 选择当前修改

在这里插入图片描述

在这里插入图片描述

选择Merge 之后,点击ok

出现以下弹出框:

在这里插入图片描述

一般我们选择手动合并Merge

点击Merge在这里插入图片描述

 将需要的内容点击:">>"既可以合并内容到result中,不需要的内容点击“x”即可,合并完成后点击apply即可。

  值得注意的是,最将所有的“x >>”符号都要处理完,不需要的点击“x”,需要的点击“>>”

  手动合并后的文件内容如下

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于使用Git进行版本控制时,当多个分支同时修改了同一文件的同一部分,产生了冲突时,可以使用`git rebase`命令解决冲突。 下面是解决冲突的一般步骤: 1. 首先,使用`git status`命令查看当前分支状态,确保没有未提交的更改。 2. 使用`git checkout`命令切换到需要进行rebase的分支,例如:`git checkout feature_branch`。 3. 运行`git rebase target_branch`,其中`target_branch`是要将分支合并到的目标分支。这将会将`feature_branch`上所做的更改应用到`target_branch`上。 4. 如果在rebase过程中发生冲突Git会停止rebase并提示你解决冲突。可以使用`git status`查看哪些文件有冲突。 5. 打开有冲突的文件,解决冲突。在文件中会有Git标记冲突的部分,你可以手动修改它们或者选择使用其他工具来辅助解决冲突。 6. 解决冲突后,使用`git add <resolved_file>`将解决后的文件标记为已解决。 7. 运行`git rebase --continue`继续rebase过程。 8. 如果还有其他冲突,重复步骤5-7,直到所有冲突解决完毕。 9. 当rebase完成后,使用`git log`确认提交历史没有问题。 10. 使用`git push origin feature_branch --force`将修改推送到远程仓库(注意使用`--force`选项)。 请注意,rebase会改写提交历史,因此在多人协作的项目中,如果有其他人在使用该分支或者该分支已经被推送到远程仓库,请小心使用rebase命令,并与团队成员进行协调。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值