热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Eclipse+EGit的配置注意点,以及解决Github多个本地仓库之间的冲突

问题描述不同本地仓库(e.g.Repo1,Repo2)之间同时修改一个文件时,出现文件无法merge的情况.具体表现为,冲突(红色双向实心箭头)一直存在,点pull没反应,点pus

问题描述

不同本地仓库(e.g. Repo1, Repo2)之间同时修改一个文件时, 出现文件无法merge的情况.

具体表现为, 冲突(红色双向实心箭头)一直存在, 点pull没反应, 点push报错, 双击文件也没有出现merge提示("<<<<<<"这样的符号), 点"add to index", mark as merged等等 都没用. 手动merge或者overwrite, 也无法push回remote.

原因:

repo1和repo2同时修改一个文件e.g. README.MD

repo1修改成AAA, commit+push到remote

repo2修改成BBB, commit到本地.Fetch, 进入Sync Perspective. 冲突可见.

 

此时, 正确操作应该是: repo2中选择冲突文件, 用merge tool来合并成最终版本.

 

但如果操作人员不小心, 讲repo2中的冲突文件直接修改成CCC, 且不commit, 则会遇到上述问题. 导致pull(fetch+merge)不成, push不成, merge界面不出现的尴尬情形.

在冲突文件较多时, 这个问题比较隐蔽, 容易造成困扰.

根本原因:

不通过merge tool或者pull(不推荐), 直接修改文件, 会导致repo2的staging和本地仓库不一致.

此时, 该文件对repo2而言, staging, local repo, remote repo内容各不相同.

commit之后使得本地所有文件一致. 可以重新开始fetch+merge.

解决方法:

在repo2中, 修改冲突文件, commit, 再次走正常merge步骤即可.

 

题外话

Eclipse中配置EGit - 具体参数意义 https://git-scm.com/docs/git-config

1. 有防火墙的情况下记得设置http.proxy

2. http.sslVerify设置为false避免push fetch时做http的ssl验证.

3. core.autocrlf - 如果跨Windows(CRLF), Mac(CR)和Linux(LF)写代码, 需要注意这个换行符的问题. 设置如下(3个选项)  另有core.safecrlf可以做检查用.

#添加文件到git仓库时, 视为text, 自动把crlf变lf. 取出的时候又把文件转成crlf.
# x -> LF -> CRLF
git config
--global core.autocrlf true

# x -> LF -> LF #添加时, crlf转lf, 取出文件的时候, 不做转换, 仍是lf. git config
--global core.autocrlf input #不做转换, 原样进出
# x -> x -> x git config
--global core.autocrlf false
#拒绝提交包含混合换行符的文件
git config --global core.safecrlf true   

#允许提交包含混合换行符的文件
git config --global core.safecrlf false   

#提交包含混合换行符的文件时给出警告
git config --global core.safecrlf warn

因此, 只在Windows系统下开发, 直接设false即可. 仓库中和workspace中的换行符都是CRLF.

此外, 如果文件中包含中文字符且使用UTF-8编码, 也应该用false保证文件一致性. 转换过程可能导致问题.

 

Windows+Linux/Mac开发: Windows下设置为true, Mac/Linux下设置为input. 

这样Windows的Workspace中是CRLF (提交时会把CRLF转换成LF, 取出时会把LF转换成CRLF)仓库和Mac/Linux的Workspace下都是LF.

 

 


推荐阅读
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • 本文介绍了解决java开源项目apache commons email简单使用报错的方法,包括使用正确的JAR包和正确的代码配置,以及相关参数的设置。详细介绍了如何使用apache commons email发送邮件。 ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
  • pc电脑如何投屏到电视?DLNA主要步骤通过DLNA连接,使用WindowsMediaPlayer的流媒体播放举例:电脑和电视机都是连接的 ... [详细]
author-avatar
戴耳机聆听世界
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有