git pull 时发生冲突之解决合并冲突

1、首先我在pull之前,git add . 和 git commit -m "" 了,最后还push了。(献上个人信息打码图)


2、然后开始pull。执行git pull origin master.告诉你存在三个冲突(其实有一个是内容冲突,另外两个是你新增部分提示你delete),提示你修复冲突后再commit。


3、关闭你的开发工具(IDEA、eclipse等),用编辑器打开提示你内容有冲突的文件(其实直接vim打开也是可以,但是不建议使用),删掉冲突部分,然后保存(vim是删掉之后,按Esc 、然后:wq保存退出)。

4、git status ,可以看到红色部分提示 

出现You have unmerged paths.

  (fix conflicts and run "git commit")  


5、然后分别git add 三个的文件。(贴一个git add


6、然后 git status 可以看到没有红色字体的提示了。

All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)


7、最后git add . 。然后git commit 。然后pull就没问题了。


### 解决Git Pull过程中出现的冲突 当执行 `git pull` 操作,如果远程仓库中的文件被其他开发者修改过,并且这些修改与本地未提交的更改存在冲突,则会触发冲突警告。以下是几种常见的解决方案: #### 方法一:保留本地修改 通过以下命令可以暂保存当前的工作状态,完成代码同步后再恢复工作区的状态: ```bash git stash # 将本地修改隐藏 git pull # 拉取最新的远程代码 git stash pop # 恢复之前隐藏的内容并应用到新的代码上 ``` 此方法适用于希望保留本地改动的同获取最新版本的情况[^2]。 #### 方法二:放弃本地修改 如果你确认不需要保留任何本地变更,可以直接丢弃它们并通过硬重置回到最近一次已知的良好状态,之后再重新pull下来更新后的分支数据即可实现无干扰合并过程。 ```bash git reset --hard HEAD # 放弃所有尚未commit的变化 git pull # 获取服务器端的新版资源包 ``` 这种方法简单粗暴,在确定自己无需担心丢失重要更动的前提下非常有效。 #### 关于手动编辑解决具体位置上的差异部分说明如下: 一旦上述自动化手段无法完全消除分歧之处,则可能需要人工介入来判定究竟应该采纳哪一方或者综合考虑两方给出的最佳实践方案作为最终定稿。此打开发生矛盾的那个文档就会看到类似下面这样的特殊标注形式: ``` <<<<<<< HEAD ... (your changes here) ======= ... (other person's conflicting changes there) >>>>>>> branch_name ``` 其中,“`=======`”上方代表的是您自己的变动内容;下方则是来自他人的不同意见所在区域。“`<<<<<<< HEAD`” 和 “`>>>>>>> branch_name`” 这些符号是用来界定争议范围边界的标志位。只需要删除掉多余的分隔符以及选择合适的逻辑保持一致性的表述就可以了[^3]。 最后记得再次验证整个项目能否正常编译运行良好并且及提交解决问题后的成果给团队共享哦! ```python # 示例伪代码展示如何检查是否有剩余冲突标记残留 def check_conflict(file_content): conflict_markers = ['<<<<<<<', '=======', '>>>>>>'] for marker in conflict_markers: if marker in file_content: return True return False ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值