[英]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.