git应该改变行的结尾吗?(控制+第一行末尾的M或^ M)

ant*_*njs 10 git github github-api

pull从windows机器上使用git 代码.

当其他开发人员pull在他们的liunx机器上从服务器开发文件时,他们就^M在第一行的末尾.

怎么能让git为我照顾这个?

我的意思是,git当我(从我的窗口机器)推送服务器上的代码时,应该更改行的结尾(在第一行的末尾删除控件+ M或^ M).

nul*_*ken 17

这个GitHub 帮助页面处理这个非常具体的主题,并驱动一个步骤来正确配置您的Git配置.

基本上,如果您正在使用Mac/Linux,请使用

$ git config --global core.autocrlf input

如果你是一个Windows用户,请使用

$ git config --global core.autocrlf true

注意:这将在执行结帐或提交时动态转换行结尾,并确保文本文件在存储库中具有LF行结尾,同时在工作目录中具有本机行结尾.

注意2:这不会重写存储库的历史记录.回购中的现有提交将保留其潜在的混合行结尾.

注3:确保每个提交者在下次提交之前执行此配置步骤.

存在一种替代方法,其不涉及迫使每个人改变其配置.它需要将特定文件名.gitattributes添加到您的存储库.有关git官方gitattributes文档中的主题的更多信息.

注4:githubber的Tim Clem发表了一篇非常详细的博客文章(Mind the End of Your Line)关于行结尾,相关配置条目和gitattributes的好处.如果你愿意理解概念,"为什么"和内部机制,那绝对必须阅读.


Pet*_*son 1

尝试将 设为 core.autocrlftrue (请参阅git-config)。