有没有一种方法,以确定在现有的git仓库行尾?(Is there a way to determin

2019-06-26 18:43发布

有没有一种方法,以确定在现有的Git仓库行尾?

如果我克隆一个现有的存储库我怎么确定哪些core.autocrlf曾通过创造者?

我仍不确定什么对于core.autocrlf例如,在Windows中的最佳设置(因为有多个观点: 与代码分发的git配置或https://help.github.com/articles/dealing-with-line-结局 )

奖金的问题:你能确定是否回购已通过所有提交混行尾(由错误core.autocrlf设置)窗口(使用标准工具)?

Answer 1:

要检查哪些行结束在仓库中(不管你的实际上是致力于core.autocrlf设置),请尝试以下操作:

git grep -I --files-with-matches --perl-regexp '\r' HEAD

-I意味着二进制文件不应该被看。)



Answer 2:

我仍然坚持认为,设置( core.autocrlf )以false ,因为我“的解释分发与代码git的配置 ”,你提了,使用eol gitattributes指令进行更细粒度的控制。

话虽这么说,检测混线的结尾:

  • 设置core.autocrlftrue
  • git clone你的回购
  • git diff :如果diff文件只是你克隆后可见......一些自动EOL转换只发生在工作树。

更新2016(4年后): 一个更现代的方式来检测EOL的变化 :

 git -c color.diff.whitespace="red reverse" diff -R -- afile


Answer 3:

最好的行尾的做法是在这里: https://stackoverflow.com/a/10855862

为了确定在现有的Git仓库行的结尾:

  1. 设置core.autocrlffalse ,所以在传输文件,也不会改变文件结尾。
  2. git clone你的前回购。 在新目录中。
  3. 使用文本编辑器,显示行结束打开文件(EX。PHPStorm一样)。 你应该打开多个文件,行尾可以从文件到文件不同。

你不能确定什么core.autocrlf用来创建者,因为它是本地配置,除了回购有.gitattributes文件。

在Windows中,如果你不使用它的默认设置.gitattributes只使用core.autocrlf如此。



Answer 4:

在Windows中,只需运行从命令提示符下面的命令:

git config --list

这将列出所有的Git配置变量。

如果你想获得个人配置设置(例如用于core.autocrlf),运行以下命令在Windows命令提示符:

git config --get core.autocrlf

这要么给你一个“ true ”或“ false ”值。

如果你想改变这个,编辑C:\ProgramData\Git\config文件,更改从值falsetrue

注意:这仅适用于Windows操作系统。



文章来源: Is there a way to determine the line endings in a existing git repo?