【问题标题】:Trying to clone a repository but the line endings are wrong尝试克隆存储库但行尾错误
【发布时间】:2018-12-01 02:37:13
【问题描述】:

我的电脑上有 cygwin 和 msysgit。我正在尝试使用以下命令克隆 vim 包的存储库:

cd ~/.vim/bundle
git clone https://github.com/jelera/vim-javascript-syntax.git

但是,当我运行 vim 时,它失败了,报告错误 E488: Trailing characters。这似乎是由于行结尾是 CRLF 而不仅仅是 LF,这在我替换它们时得到了确认。

当然,手动替换它们不是我想要的。我宁愿让 git 为我做这件事。但是,由于我是使用我的电脑在 Windows 平台上进行开发,所以我不想修改任何全局设置。

是否有命令行开关让 git 仅使用 LF EOLs 克隆 repo?

【问题讨论】:

  • 有人可以帮我改进我的问答吗?我不明白为什么我被否决了。
  • 看起来这只是一次开车投票。我看不出有什么不对。只有模组只是一些小的格式更改。

标签: git cygwin msysgit


【解决方案1】:

好的,事实证明可以使用-c 开关在命令行中设置配置键。这会将我的命令更改为:

cd ~/.vim/bundle
git clone -c core.autocrlf=false https://github.com/jelera/vim-javascript-syntax.git

来自git clone帮助:

--config =
-c =

    在新建的仓库中设置一个配置变量;这在存储库初始化后立即生效,但在获取远程历史记录或签出任何文件之前。密钥的格式与git-config[1] 预期的格式相同(例如,core.eol=true)。如果为同一个键提供多个值,则每个值都将写入配置文件。例如,这使得向源远程添加额外的 fetch refspecs 是安全的。

git config 帮助:

core.autocrlf

    将此变量设置为“true”与将所有文件的text 属性设置为“auto”并将core.eol 设置为“crlf”相同。如果你想在你的工作目录中有CRLF 行结尾并且存储库有LF 行结尾,则设置为true。该变量可以设置为输入,在这种情况下不执行输出转换。

我已经验证这可以解决问题。

【讨论】:

  • 不知道为什么这被否决了,这是正确的答案。
  • @torek,是的。奇怪吧?而且我也不知道为什么会出现这个问题。这似乎是一个合理的问题。
  • 正是我想要的。
猜你喜欢
  • 2013-10-08
  • 1970-01-01
  • 2021-07-09
  • 1970-01-01
  • 2014-06-06
  • 1970-01-01
  • 2016-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多