博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git强制更新本地库和冲突解决
阅读量:5993 次
发布时间:2019-06-20

本文共 1528 字,大约阅读时间需要 5 分钟。

1.You have not concluded your merge. (MERGE_HEAD exists)

本地有修改和提交,如何强制用远程的库更新。

出现这种情况一般是git本地有commit,但是不能更新,也不能cleanup,导致无法push到服务器。

使用git pull -f 强制更新,仍然提示 You have not concluded your merge. (MERGE_HEAD exists)。

这种情况,可以做好备份,放弃本地修改,用远程内容reset本地目录,当然新建目录重新clone也可以。

以下是使用reset命令使用远程内容强制更新本地目录,

git fetch 下载远程的库的内容,不做任何的合并,git reset 把HEAD指向刚刚下载的最新的版本。
注意,这样操作,之前所做的修改会被覆盖!!!谨慎使用!

git fetch --all

git reset --hard origin/master(根据本地版本)

 

2.Git使用中的冲突解决

在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息:

error: Your local changes to "xxx.file" would be overwritten by merge. Aborting.

Please, commit your changes or stash them before you can merge.
即将更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来。

一般来说遇到这种情况,首先commit本地的修改,

然后pull版本库的代码,修改发生冲突的文件,就可以正常merge和push操作了。

这里git为什么会提示在merge之前做这些操作呢?

merge manual中有一条警告:

Warning: Running git merge with uncommitted changes is discouraged:

while possible, it leaves you in a state that is hard to back out of in the case of a conflict.

有未提交修改情况下,不要执行merge,很可能会丢失修改。

看一下如何使用stash暂存代码:

 

1、先将本地修改存储起来

$ git stash

这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息:

 

git stash暂存修改

git stash暂存修改

其中stash@{0}就是刚才保存的标记。

 

2、pull内容

暂存了本地修改之后,就可以pull了。

$ git pull

3、还原暂存的内容

$ git stash pop stash@{0}

系统提示如下类似的信息:

Auto-merging c/environ.cCONFLICT (content): Merge conflict in c/environ.c

意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。

4、解决文件中冲突的的部分

打开冲突的文件,会看到类似如下的内容:

git冲突内容

其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。

碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。

本文转自邴越博客园博客,原文链接:http://www.cnblogs.com/binyue/p/4741876.html,如需转载请自行联系原作者

你可能感兴趣的文章
Flex BlazeDS Java 使用
查看>>
xshell自动保存用户名后的更改方法
查看>>
JBoss Web和 Tomcat的区别
查看>>
leetCode 235. Lowest Common Ancestor of a Binary Search Tree 二排序树问题
查看>>
XenApp_XenDesktop_7.6实战篇之七:License Server规划及部署
查看>>
U-Mail邮件系统分布式+双机热备方案确保同步稳定传输
查看>>
做技术到底可以做到哪种地步-技术为什么越走越窄
查看>>
mysql 性能优化
查看>>
MariaDB二之数据类型、字符大小写、变量
查看>>
Kubernetes1.10 ——二进制集群部署
查看>>
awk如何引用外部变量
查看>>
部置VMware Management Assistant-vMA
查看>>
我的友情链接
查看>>
High Level Google Doc
查看>>
Java异常处理-----抛出处理
查看>>
项目启动时注意事项
查看>>
排查 “Detected Tx Unit Hang”问题
查看>>
c++ 如何定义未知元素个数的数组?【转】
查看>>
【Android必备】创建一个Fragment(8)
查看>>
【Touch&input 】支持跨Android版本的控制器(17)
查看>>