Nel mio repository, che ha terminazioni di linea miste. Sto usando Mac OS X e git 1.8.3.1Perché il seguente comando è incoerente nel mio repository?
Mi piacerebbe rinormalizzare questo repository in modo che ogni file abbia terminazioni di riga che sono d'accordo con il file .gitattributes.
A tal fine, ho controllato l'ultima modifica:
git checkout origin/develop
git reset --hard
git rm -rf .
git rm --cached -rf .
rm .git/index
git checkout HEAD .gitattributes
git reset --hard
git status
Ora, git rm --cached -rf .
causerà un errore, ma mi viene molto paranoico con il comando precedente. (Sulla mia macchina, quei comandi erano su una riga, ignorando i codici di uscita)
Ripeto il comando molte volte. (Ie, UP; ENTER; UP; ENTER; UP; ENTER; ...)
Il più delle volte, ho un check out pulito, che non è quello che mi aspetto.
Tuttavia, all'incirca una volta ogni dieci volte, trovo che ottengo tre file (che sembrano essere rinormalizzati correttamente). I tempi rimanenti non sono rinormalizzati.
L'output di un file che viene rinormalizzata (Vale a dire, è 'modificato') è: attributi
$ file source/RemoveDuplications.cs
source/RemoveDuplications.cs: UTF-8 Unicode (with BOM) C++ program text, with CRLF line terminators
mio git file ha un discreto numero di voci, ma quello rilevante è qui:
Cosa potrebbe andare storto qui?
Devo sottolineare che i file che appaiono come modificati sono gli stessi che appaiono modificati se lo faccio: 'find. -iname '* .cs' -exec unix2dos '{}' \; ' – Arafangion
Chiaramente, la normalizzazione di git non avviene sempre, e io sono confuso. – Arafangion
Questo errore si verifica ancora con git versione 1.8.4, da homebrew. – Arafangion