[Git]10 如何提交更新时的冲突

本文介绍了解决Git中本地和远程仓库合并冲突的方法。包括如何识别冲突文件、手工解决冲突的具体步骤,以及如何重新提交已解决冲突的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



2branch都修改了同一个文件的同一部分时,这时,就会发生冲突,git的自动合并就会失败。产生了冲突就需要手工解决。

 

    1. 如何解决本地冲突

比如,通过以下方式提交代码:

$ git commit -m “file.txt: needs merge”

如果执行git status会显示这些文件没有合并(unmerged),这些有冲突的文件里面会添加像下面的冲突标识符:

<<<<<<< HEAD:file.txt

Hello world

=======

Goodbye

>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

你所需要的做是就是编辑解决冲突,(接着把冲突标识符删掉),再执行下面的命令:

$ git addfile.txt

$ gitcommit

注意:提交注释里已经有一些关于合并的信息了,通常是用这些默认信息,但是你可以添加一些你想要的注释。

 

    1. 如何解决远端冲突

1.通过以下方式提交代码:

git status

git add file

git commit-m “modified”

git pushorigin master:refs/for/master   

--当前本地的分支是 master

--有冲突报失败,则继续按下面处理,否则提交流程成功结束;

2.将远程最新代码下到本地新建分支上master_new 

gitcheckout origin/master -b master_new    

3.将前面本地第4 master分支的commit修改应用到当前分支

gitcherry-pick <change-id>  

4.人工合并--(具体说明)

5.将解决冲突后的每个文件添加到commit列表中  

git add<file>

  -- file为解决冲突后的文件  

6、重新提交

git commit

或者直接

git commit--amend

提交时一定要把log信息中conflict信息删除,否则,会提示没有change ID

7.重新提交到远端

git pushorigin master_new:refs/for/master

 

一切OK~~~



作者:Younger Liu,本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可。

转载于:https://www.cnblogs.com/youngerchina/p/5624486.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值