标签:
向远程仓库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会直接删除本地在远程上面没有的文件。
标签:
原文地址:http://my.oschina.net/Jakesoft/blog/493101