在 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
更差;在我手动解析文件并添加冲突的文件后,似乎没有任何要提交的内容(相对于文件的末尾),因此当我再次拉取时,我会得到完全相同的冲突。有什么解决办法吗?
这些差异是由于不同的操作系统对于结束一行有不同的想法造成的。
Git 通常可以很好地处理这些问题,将 core.eol 的配置值默认为“native”。但是,如果开发人员由于某种原因没有该设置,或者从 Windows 提交 UNIX 样式文件(反之亦然),您可能会遇到这些问题。
最好找到问题的根源并在那里处理它,否则,您可以尝试为 core.eol (lf/crlf) 设置不同的值,看看是否可以解决该问题。如果它只发生在特定路径上,而不是整个项目上,那么您最好为该路径定义一个 gitattributes 文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)