2012-05-09 114 views
3

我有一個使用git(1.7.10.msysgit.1)控制版本的vb.net(visual studio 2010)項目。我犯了一個錯誤,在git中將core.autocrlf設置爲true。現在我已將core.autocrlf設置爲false,但源代碼已在存儲庫內轉換爲LF行尾。我想將行結尾改回CRLF。將文本文件從LF行結束批量轉換爲CRLF

我的計劃,以糾正這種情況是:

  1. 混帳克隆
  2. 刪除克隆的所有源代碼文件
  3. git的結帳-f
  4. 轉換所有LF到CRLF
  5. 混帳承諾
  6. 從原始回購git拉

我遇到了第4步的問題。項目中有很多文件,希望有一個工具可以將所有文本文件批量轉換爲CRLF行尾。

我試過dos2unix這是可用的git bash,但看起來像它不會處理子文件夾,它告訴我,文本文件looks binary

那麼,將我的源代碼批量轉換回CRLF行尾的最佳方式是什麼?

回答

2

我錯過了明顯的方式:

  1. 混帳克隆文件夾A.混帳配置core.autocrlf假
  2. 混帳克隆文件夾B.混帳配置core.autocrlf真正
  3. 刪除所有源文件從文件夾B
  4. 在文件夾B
  5. git的結帳-f
  6. 截斷並從文件夾B粘貼的所有文件和文件夾,文件夾
  7. git的承諾中只使用一個單一的存儲庫,從原始倉庫
6

我把恩迪的步驟,但它減少文件夾中的

  • 混帳拉:

    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

    不錯!但是,如果您忽略/未跟蹤文件,請小心。 –

    +0

    明智的話...... :) – Christoph

    相關問題