行结束使用Cygwin和Github上的Windows(Line endings with cygw

2019-08-18 07:53发布

我希望能够在使用Cygwin的命令行(在Windows上)同时使用Github上的Windows应用程序,以及混帐混帐我的项目。

但我不断获取与行尾问题,当我从一个切换到另一个。

如果使用命令行工具,回购没有变化,也将要修改与应用Github上的所有文件。 如果我做的Github上的应用程序的变化,它会再次想用命令行工具来更改它。

相当数量的测试后,我不能让两个工具的工作。

什么将使它发挥作用? 在.gitatributes我目前没有设置:*文字=汽车,但它并不能帮助

Answer 1:

这是当你的资源库配置,并在你的仓库中的数据不一致时发生的错误GHfW。

如果配置文件被翻译成CRLF行结束-通过设置core.autocrlftrue ,例如,但你必须在你的资料库中已有的CRLF格式(可能是斑点,因为有人没有设置core.autocrlf为真)然后,就可能出现这个问题。

在这种情况下,GHfW转换资源库中的CRLFs不同于msysgit。 其结果是,一些或所有文件出现脏。

我会建议一致的方法来你的CRLF在您的团队,以避免git的工具,任何模糊性,他们应该与你的行结尾做什么。 这就是说,这个错误最近固定在libgit2,即underlies GHfW库,并应尽快使其进入GHfW。



Answer 2:

两个混帐击和Cygwin在Windows工作将会使git的混淆。 那是:

  • 克隆/结帐下的Git猛砸回购。 在检查出,混帐认为这是在Windows上,所以平时它使用CRLF检查出的文本文件。
  • 在Cygwin中运行git,git的认为它是在Linux和回购已经在Linux中被检查出来(这实际上是不存在,按照之前的步骤)。 因此,当Git把CRLF Cygwin中,它认为LF被修改成CRLF ,这样混帐报道了大量文件的变化。

解决这个问题的方法之一是创建.gitattributes在回购的根文件,并添加行类似如下:

*.txt text eol=lf

它告诉混帐时遇到文件后缀.txt ,采用LF既书写时为“数据库(git的)”,检查出到工作目录。

这里引用



Answer 3:

我克隆使用GitHub的2.7.0.24我的Windows存储库(与文件具有CRLF)。 然后,我想用我的Cygwin的Git版本2.1.4就可以了。

我通过在[芯]部分加入“autocrlf =真”编辑的.git /配置。 (用前一个真正的制表“autocrlf =真”)

现在Cygwin的混帐说我最新的,没有修改。

我把文件上的CRLF,因为他们创造的原始资料库的方式。

我不会用GitHub的应用程序了...

我注意到合并冲突正在增加<<<< ==== >>>>线没有CR,但是当我解决这些冲突,他们将被删除。



文章来源: Line endings with cygwin and Github for Windows