Git merge:为什么在linux和windows上修改源代码后会出现很多合并冲突?

Dan*_*Dan 6 git merge conflict

我周末在家里做了一些工作,并使用git将代码更改合并到我的办公室计算机(通过vpn连接),并发现了一些非常难看的合并问题.

首先,合并应该非常干净,因为星期五在办公室里已经完成了所有工作,我只在周六和周日对我的家用电脑进行了更改.但是,当我将更改提取到我的办公室计算机时,我最终遇到了大量的合并冲突.

我清理了合并冲突,但后来我发现许多文件(从我可以告诉我周末更改的任何文件)都有<<<<<<< HEAD" and ">>>>>>> D1/master整个文件.例如:

diff --git a/web/Web.Controller/Helpers/FormsAuthentication.cs b/web/Web.Controller/Helpers/FormsAuthentication.cs
index 8571f53..4a9c9fc 100644
-- a/web/Web.Controller/Helpers/FormsAuthentication.cs
++ b/web/Web.Controller/Helpers/FormsAuthentication.cs
@@ -10,7 +10,10 @@
    /// </summary>
    public class FormsAuthenticationUtility : IAuthenticationUtility
    {
<<<<<<< HEAD

=======
>>>>>>> D1/master
        #region IAuthentication Members

        /// <summary>
Run Code Online (Sandbox Code Playgroud)

我能够kdiff通过与从我的家用计算机复制的源代码进行比较来修复代码,但这似乎完全搞砸了.

有什么想法发生了什么?

Tob*_*ler 4

当 Windows 文件合并到我的 Linux 存储库时,我遇到了同样的问题,所以这是一个 CRLF 问题。我终于可以在这个答案的帮助下解决这个问题。IIRC 这必须在合并之前完成,但已经有一段时间了,老实说我忘了写下来......