冲突的解决

(如果git使用不熟练)建议在push不了时,pull之前。在本地创建一个新的分支并commit到local,以保证本地有commit记录,万一出什么问题,可以找回代码,以免代码丢失。

(更甚者,把整个文件夹备份,不然出现找不回代码那就开心了)

多人开发时Git下冲突的产生和解决

演示

项目中有一个文件test.txt,其内容为(以下是在github仓库中截得文件内容):

1、保证项目的正确性,先pull到最新版本。

2、修改local的test.txt的文件内容,修改后的内容是:

然后local查看状态,及commit到本地仓库。

3、 (再1之后),修改test.txt,并push到remote。

(以下是我直接在github的仓库编辑提交的。)

查看remote的commit log,可以发现有一次新的提交。

这样就造成了冲突,因为local的test.txt版本与服务器的版本不一致。

4、push本地的commit,发现无法push。

发现需要先 git pull,于是先更新。

pull后,给出了明确的错误提示”Automatic merge failed; fix conflicts and then commit the result.”。

此时查看test.txt的内容:

其中<<<<<<< HEAD 到 ======= 中间的内容是local提交的。

======= 到 >>>>>>> commit-id 是远程仓库中的内容。

(和svn类似。)

如何解决冲突? 删除这些注释,保证test.txt的内容是最终push版本的内容。

修改冲突后的test.txt内容:

特别,在eclipse中即使是解决了冲突,文件的冲突图标还在,但并不影响commit&push。如下:

5、冲突解决后,在git status可以看到当前的文件状态:

(特别需要注意的是当前分支会处在一个MERGING状态下,以及刚才处理的冲突文件test.txt处于Unmerged paths下。)

根据提示,用git add test.txt,然后在git commit和git push。

此时去看remote中的test.txt内容和commit log:

【Git】git使用 - 冲突conflict的解决演示的更多相关文章

  1. Git 分支管理和冲突解决

    Git 分支管理和冲突解决 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支 ...

  2. Git分支合并冲突解决(续)

    接Git分支合并冲突解决,在使用rebase合并冲突情况下,如果不小心,执行完add后执行了commit,此时本地仓库HEAD处于游离态(即HEAD指向未知的分支),如何解决? 解决方法 (1)此时, ...

  3. git pull时冲突的几种解决方式

    仅结合本人使用场景,方法可能不是最优的 1. 忽略本地修改,强制拉取远程到本地 主要是项目中的文档目录,看的时候可能多了些标注,现在远程文档更新,本地的版本已无用,可以强拉 git fetch --a ...

  4. Git 学习笔记--Git下的冲突解决

    冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突. 而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突. git pull会自动m ...

  5. Git下的冲突解决【转】

    本文转载自:http://www.cnblogs.com/sinojelly/archive/2011/08/07/2130172.html 冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是m ...

  6. 四、git学习之——分支管理、解决冲突

    分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...

  7. 02_创建Git仓库,克隆仓库,git add,git commit,git push,git pull,同行冲突,不同行冲突的结局方案,git mergetool的使用

    1 创建Git资源库,残酷目录信息 创建git资源库的命令: git init –bare 仓库名称 (其中-bare表示的意思是空的库的意思) 进入E:\software\repository\gi ...

  8. git 分支合并冲突

    准备新的feature1分支,继续我们的新分支开发 [root@node1 git]# git checkout -b feature1 D git/LICENSE.txt Switched to a ...

  9. git分支合并冲突

    合并冲突 如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没法干净的合并它们. 如果你对 #53 问题的修改和有关 hotfix 的修改都涉及到同一个文件的同一处,在合并 ...

随机推荐

  1. ProxySQL 基础篇

    1.ProxySQL 介绍 ProxySQL 是基于 MySQL 的一款开源的中间件的产品,是一个灵活的 MySQL 代理层,可以实现读写分离,支持 Query 路由功能,支持动态指定某个 SQL 进 ...

  2. C语言之灵魂 指针学习

    指针是c语言的难点 称之为c语言的灵魂一点也不为过,不过指针用好了能事半功倍,用不好bug满天飞. 一.指针的概念 指针也是变量只不过是特殊的变量,指针的值是另一个变量的地(也就是变量所在的内存地址) ...

  3. web语义化这个坑

    什么是wen语义化:https://www.zhihu.com/question/20455165 标签大全:http://www.w3school.com.cn/tags/tag_html.asp ...

  4. windows 使用ssh连接docker容器

    在Windows上搭建docker服务器需要在Windows模拟一个Linux平台,然后在Linux平台上搭建的docker服务器,所以在使用ssh工具连接docker容器的时候,使用的ip地址不是d ...

  5. android项目上传github

    很简单

  6. Go语言实现:【剑指offer】二叉搜索树的后序遍历序列

    该题目来源于牛客网<剑指offer>专题. 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. Go ...

  7. 数据清洗:按照进行数据清洗,并将清洗后的数据导入hive数据库中。

    虚拟机: hadoop:3.2.0 hive:3.1.2 win10: eclipse 两阶段数据清洗: (1)第一阶段:把需要的信息从原始日志中提取出来 ip:    199.30.25.88 ti ...

  8. [redis读书笔记] 第二部分 sentinel

    1.sentinel的初始化,会制定master的IP和port,然后sentinel会创建向被监视主服务器的命令连接和订阅连接: -  命令连接是用来和主服务器之间进行命令通信的 - 订阅连接,用于 ...

  9. js+css页面横屏

    <!DOCTYPE html> <html lang='zh'> <head> <meta charset="utf-8" /> & ...

  10. PWA(Progressive web apps),渐进式 Web 应用

    学习博客:https://www.jianshu.com/p/098af61bbe04 学习博客:https://www.zhihu.com/question/59108831 官方文档:https: ...