Git强制更新本地库和冲突解决
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暂存修改
其中stash@{0}就是刚才保存的标记。
2、pull内容
暂存了本地修改之后,就可以pull了。
$ git pull
3、还原暂存的内容
$ git stash pop stash@{0}
系统提示如下类似的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。
4、解决文件中冲突的的部分
打开冲突的文件,会看到类似如下的内容:

其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。
碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
Git强制更新本地库和冲突解决的更多相关文章
- git 强制更新本地和强制提交覆盖
强制更新覆盖本地: git pull时出现冲突 放弃本地修改,使远程库内容强制覆盖本地代码git fetch --all //只是下载代码到本地,不进行合并操作git reset --hard ori ...
- 【Git】六、分支管理&冲突解决
上一节讲了如何和远端的仓库协同工作,这一节介绍一下分支 ---------------------------- 提要 //创建一个分支dev $ git branch dev //切换到dev分支 ...
- Git本地仓库和远程仓库冲突解决
场景描述: 在本地创建了一个git repo,并且执行了,git init命令,创建了.gitignore文件,或者README.md文件: 在远程创建了一个git repo,创建时也初始化了.git ...
- Git push错误non-fast-forward后的冲突解决
当要push代码到git时,出现提示: error:failed to push some refs to ... Dealing with “non-fast-forward” errorsFrom ...
- git强制更新
1.下载远程的库的内容 git fetch --all 2.把HEAD指向刚刚下载的最新的版本 git reset --hard origin/master
- git 代码比较工具,分支冲突解决
下载地址:https://www.scootersoftware.com/BCompare-4.2.9.23626.exe
- [svn]svn conflict 冲突解决
转自:http://www.gezila.com/tutorials/17290.html 目录: 1. 同一处修改文件冲突 1.1. 解决方式一 1.2. 解决方式二 1.3. 解决总结 2. 手动 ...
- svn conflict 冲突解决
1. 同一处修改文件冲突 开发人员都知道代码管理工具是开发中一个必不可少的工具,这里也不废话详细介绍了.不管你个人喜欢git还是svn还是其他,但还有一大部分公司在使用svn做代码管理工具.这里详细介 ...
- SVN常见错误和版本冲突解决
之前在Eclipse下面误删除了svn的一些插件包,后来重装了就问题重重,在这里还是建议, Windows下SVN最好使用桌面版,在文件管理器下面更新和提交. 1.常见错误整理 #, c-format ...
随机推荐
- Gym - 100851F - Froggy Ford(dijkstra)
题目链接 参考 http://blog.csdn.net/KIJamesQi/article/details/52214990 题意 蛤蛤要从这岸去到对岸,河中有n块石头,现可以在河中添加一块石头 ...
- Spring面向切面编程AOP(around)实战
spring aop的环绕通知around功能强大,我们这里就不细说,直接上代码,看着注释就能明白 需要的可以点击下载源码 1.如果使用注解的方式则需要先创建个注解类 package com.mb.a ...
- .NET面试题系列(十三)Lucene底层原理
索引原理 全文检索技术由来已久,绝大多数都基于倒排索引来做,曾经也有过一些其他方案如文件指纹.倒排索引,顾名思义,它相反于一篇文章包含了哪些词,它从词出发,记载了这个词在哪些文档中出现过,由两部分组成 ...
- 破解WPA工具Tkiptun-ng
1.关于Tkiptun-ng 该工具能够将一些帧插入到使用WPA TKIP且开启Qos的无线网络中. 2.Tkiptun-ng原理 Tkiptun-ng设计思路主要是通过获得一个包含明文与MIC(消息 ...
- php+mysql注入
SQL简单命令介绍: mysql.exe -u 用户名 -p 密码 -h ip地址 show databases;查看数据库 select version();php注入下的版本号 use d ...
- Postfix - Extmail 邮箱系统
Postfix Dovecot Extmail 邮箱系统早前的内部邮箱系统重新整理下:现在Extmail官方有集成镜像的EMOS_1.6_x86_64免费版:可直接下载安装: 系统环境: linux ...
- QMessageBox消息框
QMessageBox提供两套接口来实现,一种是static functions(静态方法调用),另外一种 the property-base API(基于属性的API) #需要 from PyQt5 ...
- CF1009F Dominant Indices
传送门 还是放个链接让泥萌去学一下把 orzYYB 题目中要求的\(f_{x,j}\),转移是\(f_{x,j}=\sum_{y=son_x} f_{y,j-1}\),所以这个东西可以用长链剖分优化, ...
- [CQOI2018]交错序列 (矩阵快速幂,数论)
[CQOI2018]交错序列 \(solution:\) 这一题出得真的很好,将原本一道矩阵快速幂硬生生加入组合数的标签,还那么没有违和感,那么让人看不出来.所以做这道题必须先知道(矩阵快速幂及如何构 ...
- Servlet.service() for servlet jsp threw exception
报错信息如下: org.apache.catalina.core.ApplicationDispatcher invoke 严重: Servlet.service() for servlet jsp ...