有没有办法确定现有git回购协议中的行尾?

有没有办法确定现有git回购协议中的行尾?,git,core.autocrlf,Git,Core.autocrlf,有没有办法确定现有git存储库中的行尾 如果克隆现有存储库,如何确定创建者使用了哪个core.autocrlf 我仍然不确定core.autocrlf的最佳设置是什么,例如在windows机箱上 (因为有多种意见:或) 附加问题:您能否在windows(使用标准工具)上确定回购在所有提交过程中是否有混合行结尾(通过错误的core.autocrlf设置)?我仍然会将该设置(core.autocrlf)保持为false,正如我在您提到的“”中解释的那样,并用于更细粒度的控制 也就是说,要检测混合的线

有没有办法确定现有git存储库中的行尾

如果克隆现有存储库,如何确定创建者使用了哪个core.autocrlf

我仍然不确定core.autocrlf的最佳设置是什么,例如在windows机箱上 (因为有多种意见:或)


附加问题:您能否在windows(使用标准工具)上确定回购在所有提交过程中是否有混合行结尾(通过错误的core.autocrlf设置)?

我仍然会将该设置(
core.autocrlf
)保持为
false
,正如我在您提到的“”中解释的那样,并用于更细粒度的控制

也就是说,要检测混合的线端点:

  • core.autocrlf
    设置为
    true
  • git克隆
  • git diff
    :如果在克隆之后diff才可见。。。一些自动下线转换只是在工作树中发生的
2016年更新(4年后)::


要检查存储库中实际提交的行尾(无论您的
core.autocrlf
设置如何),请尝试以下操作:

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

-I
表示不应查看二进制文件。)

最佳行尾做法如下:

要确定现有git存储库中的行尾,请执行以下操作:

  • core.autocrlf
    设置为
    false
    ,这样它在传输文件时不会更改文件结尾
  • git clone
    在新目录中为ex.进行回购
  • 使用显示行尾的文本编辑器打开文件(例如PHPStorm)。您应该打开多个文件,因为每个文件的行尾可能不同
  • 您无法确定创建者使用了什么core.autocrlf,因为它是本地配置,但repo has.gittributes文件除外


    在Windows上,如果不使用.gittributes,则只使用默认设置的core.autocrlf true。

    在Windows中,只需在命令提示符下运行以下命令:

    git config --list
    
    git config --get core.autocrlf
    
    这将列出所有git配置变量

    如果要获取单个配置设置(例如core.autocrlf),请在windows命令提示符下运行以下命令:

    git config --list
    
    git config --get core.autocrlf
    
    这将为您提供一个“
    true
    ”或“
    false
    ”值

    如果要更改此值,请编辑
    C:\ProgramData\Git\config
    文件,并将值从
    false
    更改为
    true


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

    我的msysgit不是用USE\u LIBPCRE编译的,这也可以
    git grep-I--有匹配项的文件--basic regexp'\r'HEAD
    (现在也没有用'\r\n'得到结果)尝试以下操作:
    git grep-I--files with matches$'\r'HEAD
    此命令返回HEAD中以*nix结尾的所有文件,或者?
    git grep-I--具有匹配$'\r\n'头的文件是否会提供DOS行结束符?Unix行结束符仅为
    \n
    (LF),Windows行结束符为
    \r\n
    (CR LF)。因此,上面应该找到窗口的线条端点。如果它不起作用,可能在
    git grep
    中的某个地方发生了转换。第一个问题得到了回答?这并没有回答“有没有办法确定现有git存储库中的行尾?”