相关疑难解决方法(0)

我为什么要在Git中使用core.autocrlf = true?

我有一个从Windows和OS X访问的Git存储库,我知道已经包含一些带有CRLF行结尾的文件.据我所知,有两种方法可以解决这个问题:

  1. 设置core.autocrlffalse无处不在,

  2. 按照指示在这里(回荡在GitHub上的帮助页)到存储库转换为只包含LF行结束,然后设置core.autocrlftrue在Windows和input在OS X上有这样做的问题是,如果我有仓库中任何二进制文件那:

    1. 在gitattributes中未正确标记为二进制文件,并且
    2. 碰巧包含CRLF和LF,

    他们会被腐化.我的存储库可能包含这些文件.

那么为什么我不应该关闭Git的行结束转换呢?网上有很多模糊的警告关于core.autocrlf关闭造成问题,但很少有具体问题; 到目前为止我唯一发现的是kdiff3无法处理CRLF结尾(对我来说不是问题),而且一些文本编辑器有行结束问题(对我来说也不是问题).

存储库是我公司的内部存储库,因此我不需要担心与具有不同autocrlf设置或行结束要求的人共享它.

是否有任何其他问题只是留下我不知道的行结尾?

git line-endings

272
推荐指数
3
解决办法
23万
查看次数

尝试使用git filter-branch修复行结尾,但没有运气

我被git用Windows/Linux行结束问题所困扰.看来,通过GitHub,MSysGit和其他来源,最好的解决方案是让你的本地存储库设置为使用linux风格的行结尾,但设置core.autocrlftrue.不幸的是,我没有及早做到这一点,所以现在每次我进行更改时,行结尾都会被剔除.

我以为我在这里找到了答案,但我无法让它为我工作.我的Linux命令行知识充其量是有限的,所以我甚至不确定"xargs fromdos"行在他的脚本中做了什么.我不断收到关于没有这样的文件或目录的消息,当我设法将它指向现有目录时,它告诉我我没有权限.

我在Windows上通过Mac OS X终端尝试使用MSysGit.

git newline line-endings msysgit

266
推荐指数
3
解决办法
6万
查看次数

强制LF eol在git repo和工作副本中

我在github上托管了一个git存储库.许多文件最初是在Windows上开发的,我对行结尾并不太谨慎.当我执行初始提交时,我也没有任何git配置来强制执行正确的行结束.结果是我的github存储库中有许多带有CRLF行结尾的文件.

我现在部分在Linux上开发,我想清理行结尾.如何确保文件在github上使用LF正确存储,并在我的工作副本中使用LF?

我已经设置了一个.gitattributes包含text eol=LF; 那是对的吗?有了这个承诺和推动,我可以只是rm我的本地仓库并从github重新克隆以获得所需的效果吗?

git github eol

153
推荐指数
4
解决办法
8万
查看次数

使用代码分发git配置

在尝试为开发人员标准化平台时,我的一个需求是提交,.git/config以便每个人都有相同的CRLF配置,而不会忘记手动设置它.

我该如何设置?

我对所有这些消极情绪感到担忧autocrlf.如果不起作用,为什么不删除此功能?要么这个功能的制作者被误解,要么他们用它做了一个失败的实验,它应该被删除,以阻止更多的人浪费他们的时间(阅读模糊的手册页,提问,回答这些问题的人等).

git

43
推荐指数
2
解决办法
3万
查看次数

标签 统计

git ×4

line-endings ×2

eol ×1

github ×1

msysgit ×1

newline ×1