相关疑难解决方法(0)

如何用Git清理行结尾

我对Git很缺乏经验,这个让我感到困惑:

我只是将我的工作副本切换到另一个分支(一个简单的git checkout master),然后立即git status告诉我有关数百个已更改的文件.然而,这一切都与线路结束有关; a git diff --ignore-space-at-eol给了我很多警告:

warning: CRLF will be replaced by LF in src/.../somefile.js.
The file will have its original line endings in your working directory.
Run Code Online (Sandbox Code Playgroud)

我一般认为在版本化的文本文件中使用DOS样式的行结尾是一个坏主意,但这是他们最初提交的内容; 我在一个Linux机器中完成了这个,我得到的文件有CRLF行结尾.

在我的情况下清理的最佳方法是什么?我应该更改每个文件的行结尾并提交吗?

如何配置Git以避免将来出现这种情况?

git eol

5
推荐指数
1
解决办法
2531
查看次数

在提交期间被GIT错误消息混淆

我是git的新手,我对这个错误消息感到困惑,这个消息在我提交时不断弹出:
"警告:LF将被New Full Car.mdl中的CRLF替换.该文件将在你的工作目录中有其原始行结尾. "

这是什么意思?如何防止它定期向我显示错误?

git

4
推荐指数
1
解决办法
4626
查看次数

标准化后的Git行结束

这一行结束问题让我疯狂......

背景:从历史上看,我使用的是core.autocrlf设置,但我发现我遇到了不同的repos表现不好的问题(我在Windows上工作,我有一些需要LF结尾的repos和一些需要CRLF结尾的repos).所以我试图摆脱它并在每个存储库中使用.gitattributes(我希望Git只是闭嘴并让我管理行结尾!).所以,我现在有core.autocrlf=false和一个.gitattributes看起来像这样对我工作的一个Visual Studio项目:

# Don't do any end of line normalization.
* -text

# Always treat these files as binary. Not strictly necessary, but can't hurt.
*.png binary
*.gif binary
*.jpg binary
*.jpeg binary
*.dll binary
*.doc binary
*.docx binary
*.xls binary
*.xlsx binary
*.pdf binary
Run Code Online (Sandbox Code Playgroud)

我已经使用unix2dos将repo中的所有文件强制为CRLF结尾并确认它们在工作目录中具有正确的行结尾,并将它们全部检入.是的我遵循了这里的建议尝试使用git过滤器修复行结尾 - 分手,但没有运气

这几乎是完美的.

问题是每当我更改文件时,git报告它在更改的行上有行结束差异,例如,如果原始行是

string s;
Run Code Online (Sandbox Code Playgroud)

并且更改的行是

string sucks;
Run Code Online (Sandbox Code Playgroud)

git diff将更改显示为

string sucks;^M
Run Code Online (Sandbox Code Playgroud)

看起来Git认为repo中的文件仍然有LF结尾(因为它们在过去被标准化了?).^ M会产生大量的视觉噪音,我不确定这是否是其他任何问题的症状.我不明白为什么Git会报告差异,因为我在之前的提交中检查了所有带有CRLF结尾的文件,实际上是在此之前的提交.

那么为什么我会得到这些"假的"差异,我怎么能摆脱它们呢?

git

3
推荐指数
1
解决办法
1145
查看次数

如何阻止git提交未更改的文件?

我的同事有一个问题,即他的提交会将每个文件都包含在存储库中而不仅仅是更改的文件中.文件内容完全相同,但我们的私有Github存储库中的更改集显示删除了所有先前版本的行,并添加了所有"新"版本的行,即使实际上没有任何更改.这也发生在二进制文件中,并且实际文件从第一个版本到下一个版本是相同的.

是什么导致这种情况以及如何预防?

git

2
推荐指数
1
解决办法
2488
查看次数

为什么git正在考虑改变整个文件,而只是改变了一部分

我面临一个奇怪的情况git.我只是在一个长文件中编辑了几行但是当我去提交更改时,我看到git只是用红色突出显示整个文件内容.怎么了 ?

我正在使用git的Windows GUI

编辑:我现在记得的一件事是我在上次提交时将.csproj添加到gitignore列表中.这有什么影响吗?

更新:朋友建议的问题是从行结束.我用这个问题答案解决了这个问题

git visual-studio-2010

1
推荐指数
1
解决办法
1686
查看次数

标签 统计

git ×5

eol ×1

visual-studio-2010 ×1