冲突的解决

(如果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:

最新文章

  1. 4412开发板学习笔记-NFS服务器的搭建
  2. wordmate 词典安装
  3. java程序打包成jar 配置文件信息路径
  4. paip.自定义java 泛型类与泛型方法的实现总结
  5. css奇特用法之 IMG添加背景图片配合显示--效果惊艳
  6. Rxjava+Retrofit2+Okhttp3多文件上传(服务器端代码+客户端代码)
  7. Nginx负载均衡:分布式/热备Web Server的搭建
  8. My97DatePicker日历控件日报、每周和每月的选择
  9. 如何查看maven plugin所包含的goal
  10. DirectSound---音效使用
  11. java语法部分一些小问题
  12. CentOS下安装nvm
  13. Python多进程与单进程效率对比
  14. (61)Wangdao.com第十天_JavaScript 立即执行函数
  15. 最新阿里云申请免费SSL证书实现网站HTTPS化(图文教程一)
  16. Android Studio 3.0 变化之 implementation与compile
  17. PHP 百万级数据导出方案(多 CSV 文件压缩)
  18. C语言程序试题
  19. 集成Struts2+Spring+Hibernate_两种方案
  20. Unity3d代码及效率优化总结

热门文章

  1. python+selenium爬取百度文库不能下载的word文档
  2. CCF_ 201509-3_模板生成系统
  3. js 浏览器兼容问题及解决办法
  4. centos6.5下oracle11g下OGG单向复制
  5. 一次修改数据库物理文件造成Mysql宕机的恢复记录
  6. ArtiPub:一款开源的一文多发平台
  7. Yandex Big Data Essentials Week1 Unix Command Line Interface File Content exploration
  8. [Effective Java 读书笔记] 第三章类和接口 第二十-二十一条
  9. javascript 动态加载javascript文件
  10. win10CPU版TensorFlow安装详细流程(踩N个坑之后的总结)