__________     __ __     __  _______    ________
  / ____/ __ \   / // /    / / / /  _/ |  / / ____/
 / / __/ / / /  / // /_   / /_/ // / | | / / __/
/ /_/ / /_/ /  /__  __/  / __  // /  | |/ / /___
\____/\____/     /_/    /_/ /_/___/  |___/_____/

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

windows换行转linux换行:CRLF-LF

BY: @syt | CREATED: Oct. 26, 2017, 4:35 p.m. | VOTES: 10 | PAYOUT: $4.84 | [ VOTE ]

[IMAGE: https://cdn.pixabay.com/photo/2013/07/13/11/23/apple-158063_960_720.png]

image source

今天在 git add -A 文件时,发生错误:

> fatal: CRLF would be replaced by LF in ...

上网查询后发现这是行尾结束符问题。因为Windows使用回车和换行两个字符来结束一行,而Mac和Linux只使用一个字符换行。

其中一个解决方案是:

允许提交包含混合换行符的文件,设置

> git config --global core.safecrlf false

我设置的是拒绝提交包含混合换行符的文件,虽然这个方法可行,但不适合我。

另一个方案是:

git可以在提交时自动把行结束符CRLF转换成LF,用 core.autocrlf来打开此项功能。我把 core.autocrlf设置成 'input' 来告诉 git 在提交时把CRLF转换成LF,签出时不转换

>git config --global core.autocrlf input

不过还是提示错误,设置为 'false' 也不行。

最终解决方案:

既然是换行问题,那就直接修改换行符。于是我找到了 dos2unix 这个工具,安装

> sudo apt-get install dos2unix

然后修复文件的换行符(整个项目都进行修复)

> find ./ -type f -exec dos2unix {} +

最后 git add -A,成功。

What you want, Go after It.

https://steemit.com 首发。感谢阅读。

欢迎Follow, Upvote, Reply, Resteem (repost)激励我创作更多更好的内容。

@syt

TAGS: [ #cn ] [ #developer ] [ #git ] [ #linux ]

Replies

@heyeshuang | Oct. 27, 2017, 10:12 a.m. | Votes: 0 | [ VOTE ]

我记得git windows在安装的时候有这个选项来着

@syt | Oct. 30, 2017, 6:03 a.m. | Votes: 0 | [ VOTE ]

是嘛,我用的linux

[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>