Git 规范化时,为什么带有CRLF的文件不能添加到索引中?
因此,我一直在按照各种页面的说明进行操作,这些页面涵盖了行尾规范化 .gittributes包含以下内容,并且已提交Git 规范化时,为什么带有CRLF的文件不能添加到索引中?,git,Git,因此,我一直在按照各种页面的说明进行操作,这些页面涵盖了行尾规范化 .gittributes包含以下内容,并且已提交 * text=auto core.autocrlf = input core.eol unset (defaults to native) 我的目标是规范化存储库中的所有文本文件,以便它们只包含LF,将来的签入也会这样做 我发现我的工作区域中存在的文件(这是在删除工作文件并执行git重置--hard)包含CRLF,但当我执行“git status”时,它们没有列出 我可以签
* text=auto
core.autocrlf = input
core.eol unset (defaults to native)
我的目标是规范化存储库中的所有文本文件,以便它们只包含LF,将来的签入也会这样做
我发现我的工作区域中存在的文件(这是在删除工作文件并执行git重置--hard
)包含CRLF,但当我执行“git status”时,它们没有列出
我可以签出另一个分支,然后返回到该分支,有时(这是非常不一致的)该文件会被列为应该提交的内容
* text=auto
core.autocrlf = input
core.eol unset (defaults to native)
它变得更有趣
在我提交git记录为将CRLF转换为LF的所有文件后,签出另一个分支,然后再次签出第一个分支,并通过get status
列出一组全新的文件,表明它们也有将标准化为LF的CRLF。为什么这些不是第一次被抓到的
在签出时,文件似乎通过CR泄漏,并且没有标记为需要提交(有时)
我错过什么了吗?(或者,更确切地说,我遗漏了什么?)
在Mac OS X上使用git 1.8.3.2首先,这是您的
.gittributes
文件中所需的全部内容,您不需要任何其他内容:*text=auto
。第二,你试过中的说明了吗?在我的原始帖子中,格式设置是关闭的-在.gittattributes中唯一的内容是“*text=auto”。core.autocrlf和core.eol是我的配置设置。是的,我一直在遵循你提到的指示。基本上,我希望只运行一次,所有受影响的文件都将包含在第一轮中。我看到的是,我可以返回到相同的代码,再次运行它,并获得a)另一组要提交的文件,或者b)我发现仍然有回车符的文件没有标记为需要提交。创建.gittributes文件、删除所有其他文件并运行“git reset--hard”后,“git status”检测到43个文件更改。如果我运行“grep-I-c-r$'\r'*| wc-l”,我会得到8589个包含回车的文本文件(主要是.java)。难道不是所有这些8589文件都显示为“git状态”的更改吗?