git解决冲突

一、当发生以下三种情况时,git会自动进行合并

1.修改不同的文件

2.修改相同文件的不同区域

3.同时更改文件名和文件内容

二、逻辑冲突

自动合并成功执行后,并不一定意味着万事大吉,在某些特殊情况下,确存在者逻辑冲突。

假如一个用户修改了函数返回值,但是,另外一个用户仍然使用旧的返回值,虽然成功合并冲突却存在着逻辑冲突

三、解决冲突

如果两个用户修改了同一个文件的相同部分的内容,在合并时就会遇到冲突导致合并过程中断。这就需要手动解决冲突。

假如user1对readme,txt的修改如下


并进行了git add readme.txt

              git commit -m 'slow'

               git push

将修改过的内容提交到了远程版本库

user2对readme的修改如下


进行本地提交

git add readme.txt

git commit -m 'slowly'

在执行拉回操作时(git pull = git fetch+git merge )遇到了冲突


可以使用cat readme.txt查看文件内容


可以看到在小于号后面为USer2编辑的内容,大于号后面为user1编辑的内容,等于号用来分割不同的冲突内容

也可以从git status中看到readme.txt处于未合并冲突的状态


这时,工作区处于冲突状态,无法在进行提交操作。解决办法有两个,一是使用git reset放弃合并操作,二是打开冲突的文件,进行手工编辑解决冲突的部分,之后再进行提交。


资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在团队开发项目时,Git作为分布式版本控制系统,让每个开发者能在本地拥有完整项目副本,进行修改、提交等操作,互不影响。但当推送本地更改至远程仓库时,若多个开发者同时修改了同一文件的同一段代码,就会出现冲突。 操作步骤: 在本地修改代码前,先从远程仓库拉取最新代码到本地。 完成本地修改后,执行提交和推送操作。 适用场景及注意事项: 适用于开发人员预计本地修改时间短且代码变更可能性低的情况。 若其他开发者在期间修改了相同文件并已推送至远程仓库,此方法也可能无法避免冲突。 操作步骤: 遇到冲突时,从远程仓库重新拉取最新代码。 将本地修改与远程代码合并。 再次提交和推送。 适用场景及注意事项: 适用于冲突发生后需手动解决的情况。 合并时需仔细检查冲突部分,确保正确逻辑保留。 操作步骤: 推送时遇rejected--non-fast-forward错误,表示有冲突。 拉取远程最新代码。 用Git Merge功能手动解决冲突解决后再次提交和推送。 适用场景及注意事项: 适用于冲突复杂需手动解决的情况。 Merge过程中可能有多个冲突点,需逐一解决。 比较本地文件与远程文件。 右键点击修改文件或目录,选Team -> Synchronized Workspace。 无冲突时,再次右键点击,选Commit。 在Git Staging面板,选中Unstaged Changes中的文件,点击Add to Index。 填写提交说明,点击Commit and Push。 不勾选Force overwrite branch in remote if exists and has diverged,点击OK完成提交。 在Synchronized Workspace出现冲突时,显示红色箭头。 双击冲突标记查看
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值