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



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 未本地化版本许可协议进行许可。

posted on 2014-03-20 22:53  YoungerChina  阅读(301)  评论(0编辑  收藏  举报

导航