【发布时间】:2017-08-27 14:21:39
【问题描述】:
所以在我的工作场所,我们有许多员工混合使用 Windows 和 Linux 系统,Eclipse 是首选的官方 IDE。我个人使用的是 IntelliJ IDEA,但这并不真正相关......我们最近从 SVN 切换到了 Git。
我的一位同事正在与我一起进行一个项目,他现在至少 3 次设法在他进行合并然后推送到原点时意外更改了整个存储库中的所有行结尾。我不知道他是如何做到这一点的,但这显然与他解决合并冲突的过程有关。我们都使用 Windows,我们推送到的存储库位于 Linux 机器上。
我们都从https://git-scm.com/download/win 安装了 git,并选择了默认选项(afaik,正确处理行尾)...但是 Eclipse 中的 egit 可以以某种方式做一些不同的事情吗?
【问题讨论】:
-
服务器的类型在这里无关紧要。对于 Git(我不能代表 Egit)来说,重要的是你告诉 Git 在结账和签入期间如何处理行尾,以及你是否要求使用
merge.renormalize进行虚拟签出和签入。其他重要的变量是core.autocrlf、core.eol,以及.gitattributes中的任何设置(尽管.gitattributes会以同样的方式影响每个人)。而且,如果您的朋友正在使用任何外部 合并工具,那么该合并工具的作用将很重要(例如,可能 it 将所有内容强制为 crlf 或 lf-only)。 -
检查您的两个
.gitconfig文件。寻找相同配置参数的不同值。