我有一个vb.net(visual studio 2010)项目,使用git(1.7.10.msysgit.1)进行版本控制。我在git中将core.autocrlf
置为true是错误的。现在我将core.autocrlf
设置为false,但源代码已经转换为存储库内的LF行结尾。我想将行结尾更改回CRLF。
我纠正这种情况的计划是:
我遇到了第4步的问题。项目中有很多文件,希望有一个工具可以将所有文本文件批量转换为CRLF行结尾。
我已经尝试了git bash中提供的dos2unix
,但看起来它不会处理子文件夹,它告诉我文本文件looks binary
。
那么,将源代码批量转换回CRLF行结尾的最佳方法是什么?
答案 0 :(得分:8)
我采用了Endy的步骤,但将其缩减为仅使用一个存储库:
1. git config core.autocrlf true
2. delete all files in your working tree (except the .git folder for sure)
3. git checkout -f
4. git config core.autocrlf false
5. git commit -am "corrected all line endings from LF to CRLF"
答案 1 :(得分:2)
我错过了显而易见的方式:
答案 2 :(得分:2)
Christoph的答案几乎对我们有用,但是由于某些原因git错过了一堆文件。 (我们使用的是2.20版)。我们必须强制git通过“ git read-tree --empty”重新扫描所有内容。完成此操作后,某些文件显示为“删除”,这是不正确的,但是在重置并添加后,对我们有用。
1. git config core.autocrlf true
2. delete all files in your working tree (except the .git folder for sure)
3. git checkout -f
4. git config core.autocrlf false
5. git read-tree --empty
6. git add .
7. git reset
8. git add .
9. git commit -m "corrected all line endings from LF to CRLF"