码迷,mamicode.com
首页 > 其他好文 > 详细

git 解决冲突

时间:2015-08-16 13:56:10      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:

向远程仓库pull一个项目,提示和本地文件有冲突,需要合并才能进行后面的操作,于是这时候 ours和theirs这两个操作就派上用场了

$ git checkout --ours .                      保留自己原来的版本, 抛弃远程pull下来的版本(的所有有冲突的文件) ,或者:
$ git checkout --ours 文件名1 文件名2                         这样只针对部分文件。
$ git checkout --theirs .                    保留远程的版本,抛弃自己本地的版本


###解决冲突的终极办法

发现又一个解决方案,因为如果按照上面的方法去做的话,会发现现在的分支还是master | MERGING 这种状态,执行如下命令可以完全丢弃本地的修改:

$ git reset --hard origin/master

另外一种方法,我们不能丢弃本地修改,因为其中的某些内容的确是我们需要的,此时需要对unmerged的文件进行手动修改(手动修改的意思是打开这个文件,“手动”修改),删掉其中冲突的部分,然后运行如下命令

$ git add filename
$ git commit -m "message"

还有,如果我们觉得合并以后的文件内容比价混乱,想要废弃这次合并,回到合并之前的状态,那么可以运行如下命令:

    $:git reset --hard HEAD

###注意的地方

1、当删除本地文件并同时需要删除远程文件的时候,直接删除,然后 git add,git commit ,git push就可以把远程的文件删掉了。

2、当远程文件比本地文件要少,但是并没有冲突的时候,直接git pull会直接删除本地在远程上面没有的文件。


git 解决冲突

标签:

原文地址:http://my.oschina.net/Jakesoft/blog/493101

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!