繁体   English   中英

git:在文件末尾通过换行合并冲突

[英]git: merge conflicts over newline at end of file

在文件末尾通过换行符之间的差异拉动(合并)git时,经常会遇到冲突。

冲突看起来像这样:

diff --cc httpdocs/about/faq.php
index 0ae3963,b5eb519..0000000
--- a/httpdocs/about/faq.php
+++ b/httpdocs/about/faq.php
@@@ -212,4 -211,4 +212,8 @@@ $_SESSION['activePage'] = 'about'
        </div><!-- end wrap -->

 -<?php require RESOURCE_PATH."page_elements".SLASH."footer.php"; ?>
++<<<<<<< HEAD
 +<?php require RESOURCE_PATH."page_elements".SLASH."footer.php"; ?>
++=======
++<?php require RESOURCE_PATH."page_elements".SLASH."footer.php"; ?>
++>>>>>>> 564e069cccfad98f818ec878a3b2526fd9430f8a

更差; 手动解析文件并添加冲突的文件后,似乎没有什么要提交的(相对于文件的末尾),因此,当我再次执行拉动操作时,我会得到完全相同的冲突。 有什么办法吗?

这些差异是由以下事实导致的:不同的操作系统对行结束的含义有所不同。

通过将core.eol的配置值默认为'native',Git通常可以很好地处理这些问题。 但是,如果开发人员由于某种原因没有该设置,或者从Windows提交UNIX风格的文件(反之亦然),则可能会遇到这些问题。

最好找到问题的根源并在那里解决,否则,您可以尝试为core.eol(lf / crlf)设置不同的值,并查看它是否可以解决。 如果仅在特定路径而不是整个项目上发生,则最好为该路径定义gitattributes文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM