如果git设置为具有core.autocrlf false,那么从浏览器窗口粘贴代码片段(例如)可以吗?

如果git设置为具有core.autocrlf false,那么从浏览器窗口粘贴代码片段(例如)可以吗?,git,editor,newline,code-editor,Git,Editor,Newline,Code Editor,我正在研究GIT的最佳autocrlf设置,我对粘贴到编辑器中的代码如果设置为false会发生什么感到困惑。我注意到许多人建议将其设置为false,并提到只要使用正确的编辑器,就应该没有问题,如果我在文件中编写所有代码,我可以理解这一点;但是,如果我从浏览器中复制一个snippit,或者一些旧代码或其他东西,或者如果我使用一个完整的旧文件,那么这个设置将如何工作,我感到困惑。当然,我可以很容易地混合使用CRLF和LF,因为我得到的一些代码可能是CRLF和一些LF?或者,编辑器是否如此聪明,以至于

我正在研究GIT的最佳
autocrlf
设置,我对粘贴到编辑器中的代码如果设置为false会发生什么感到困惑。我注意到许多人建议将其设置为false,并提到只要使用正确的编辑器,就应该没有问题,如果我在文件中编写所有代码,我可以理解这一点;但是,如果我从浏览器中复制一个snippit,或者一些旧代码或其他东西,或者如果我使用一个完整的旧文件,那么这个设置将如何工作,我感到困惑。当然,我可以很容易地混合使用CRLF和LF,因为我得到的一些代码可能是CRLF和一些LF?或者,编辑器是否如此聪明,以至于他们自己在保存时转换任何粘贴的代码


编辑:我想我也应该问:如果EOF是混合的,这真的是一个问题吗?

为了避免EOF出现任何问题,想法是只使用编辑器:

  • 能够检测打开的文件使用的当前EOF样式
  • 能够以相同的EOF样式保存该文件(因此,保存时不进行转换)
这样:

  • 您(没有git自动完成的转换,除非您确实需要:查看“”)
  • 您使用的是混合EOF的不同文件(但您不在乎,因为您的编辑器总是“做正确的事情”)

所以,通过“你不在乎,因为你的编辑器总是“做正确的事情”,这是否意味着一个正确的文本编辑器会正确设置,以某种方式找出混合的CRLF和LF。。。这就是我所说的“保存时转换”对不起,每次我读到这篇文章我都会有一个新的角度。。。现在我在想,你说的这句话的意思是,只要每个开发人员都在使用,例如记事本++,那么整个项目是否在文件中包含混合的EOF其实并不重要。。。但我认为“true”和“input”设置的全部目的是在repo中的所有代码中创建EOF的一致性,以避免合并冲突,但除非我理解错了,您的意思是,情况并非如此,一致的EOF只是为了方便设置错误或错误的编辑器。@byronyasgur只有一个角度应该清晰:理想情况下,混合EOL不应该重要,即您的编辑器在编辑或保存文件时不应该执行任何更改。@byronyasgur“您的意思是,情况并非如此,一致的EOF只是为了方便坏的或错误设置的编辑器”:不,因为如果您的文件都是Unix风格的EOL,并且您使用“坏”编辑器编辑它们,那么您将使用Windows风格的EOL来获得它们。最好使用“好”编辑器“首先是编辑器。谢谢你的耐心,我可能应该相信你,使用'false'和一个好的编辑器继续,但我不能理解的是,如果一个好的编辑器对一个同时包含CRLF和LF的文件不做任何更改。。。然后git被设置为不做任何更改。。。那一定意味着我们的文件中有混合的EOF。。。如果不是为了保持一致的EOF,那么真实和输入设置是什么呢?但是你说如果每个人都在使用一个好的编辑器,混合EOF并不重要,所以我得出结论(我猜错了?),这些设置必须只允许人们使用坏的编辑器对我来说,这完全是一个编辑器问题。如果你的编辑器是理智的,它不会让你用混合的行尾来保存,或者它会让你很明显地试图这样做,你可以修复它。对不起,你能为我澄清一下吗,我想到的两种情况是:A)我打开了一个在CRLF中的文件,但我的编辑器设置为LF;B)我在编辑器中写作,再次设置为LF,但我从其他地方复制并粘贴了一些CRLF代码,在这两种情况下,最终保存的文件都是LF-through?您应该知道要保存哪种行尾,并设置编辑器来帮助您这样做。