GIT - 提交源码冲突 - 解决冲突


GIT版本控制-开发框架文库

一、Git冲突原因

当多个用户修改了相同源码文件的同一行代码时因提交顺序错乱发生的冲突(类似数据库操作的并发脏写)。

模拟场景

A用户修改了F1文件第10行代码,但是当时没有提交源码。

B用户修改了F1文件第10行代码,提交了源码。

此时当A用户提交F1文件时会发生冲突。

 

同步最新源码发现冲突(黄色叹号图标),

GIT - 提交源码冲突 - 解决冲突

GIT - 提交源码冲突 - 解决冲突

打开 Git Commit 菜单查看冲突的文件

GIT - 提交源码冲突 - 解决冲突

 

GIT - 提交源码冲突 - 解决冲突

 

二、解决方案

  • 差异代码块合并方案
  • 替换方案

差异代码块合并方案

点击冲突的文件(Status=Conflict),红色字体的文件。点右键弹出菜单:

GIT - 提交源码冲突 - 解决冲突

Edit Conflicts(编辑冲突)

 

  • MERGE_HEAD (origin/HEAD):Git服务器最新源码
  • HEAD:本地源码

 

GIT - 提交源码冲突 - 解决冲突

 

操作:选择多行,Use this text block

 

GIT - 提交源码冲突 - 解决冲突

 

GIT - 提交源码冲突 - 解决冲突

 

合并代码块后,点左上角 GIT - 提交源码冲突 - 解决冲突 按钮,弹出对话窗体,点击“Mark as resolved”,标记为已解决。

GIT - 提交源码冲突 - 解决冲突

 

文件标记为已解决,状态(Status=Modified)

 

GIT - 提交源码冲突 - 解决冲突

 

替换方案

Resolved

不做任何处理,标记为已解决。

Resolve conflict using "MERGE_HEAD(origin/HEAD)"

使用GIT服务器的最新版本,并标记为已解决。

Resolve conflict using "HEAD"

使用本地仓库的最新版本,并标记为已解决。

 

三、参考文章

 

VS2015源码管理器-GIT解决冲突并提交结果|C/S框架网

https://www.cscode.net/archive/newdoc/cs-210903193602059-88.html

 

内容图片-底图-高效开发.追求卓越-宽-开发框架文库

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:MenuAction类详解 - Winform开发框架
下一篇:常用软件秘钥大全 | 密钥大全
评论列表

发表评论

评论内容
昵称:
关联文章

GIT - 提交冲突 - 解决冲突
VS2015管理器-GIT解决冲突提交结果|C/S框架网
GIT提交:关于VS无法提交log目录下所有的文件解决方案
解决GIT无法提交方案之一:git did not exit cleanly (exit code 1)
GIT VS2019 提交 - 推送Push操作
VS2015管理器-GIT克隆与提交基本操作
最新完整版:VS2017 GIT无法同步,GIT无法提交,存在未提交的修改,在重新合并前或者撤销更改
GIT 无法拉取,因为存在未提交的更改。 在重新拉取前提交或撤消更改
GIT Sync同步Pull拉/Push推操作指南
GitBlit - 创建、推送VS解决方案添加到版本库
GitBlit - 使用克隆仓库方式创建、推送VS解决方案添加到版本库
提交GIT服务器失败,提示Git failed with a fatal error.Permission denied,.vs/Server/sqlite3/db.lock
GIT VS解决方案忽略文件 .gitignore
VS编译生成解决方案失败,但是检查完全正常的奇异现象
代码生成器 CodeGenerator - 将窗体加入到VS解决方案
VS编译错误:解决 Files 的值"<<<<<<< HEAD"无效
C# 定义类的属性名称与VS 保留关键字标识符冲突解决方案
安装GIT msi 程序出现the error code is 2503解决方案
生成的窗体Form集成到VS解决方案 - C/S框架三层架构代码生成器操作指南
什么是Client/Server模块与共用?