Dal momento che hai avuto l'errore a causa di un tiro, il danno è già stato fatto: qualcuno ha già commesso un file .DS_Store
-git
. Questo non dovrebbe mai accadere, ovviamente, ma è successo.
Davvero non si desidera tali file essere sotto il controllo di versione, perché
git
sarà modificarli quando si estrae un commettere, o, peggio ancora, sarà attivamente unire le modifiche da qualcun altro in un locale .DS_Store
quando si unisce un ramo creando eventualmente un file .DS_Store
danneggiato. Non ho idea di cosa il tuo sistema operativo faccia con il contenuto di questi file, ma non si aspetta che tu li cambi in alcun modo.
Si verificherà un errore ogni volta che si tenta di eseguire il checkout di una revisione contenente un file .DS_Store
quando il sistema operativo lo ha modificato.
Gli utenti non Apple non apprezzeranno i file .DS_Store
che sporcano il repository.
vi consiglio di provare a dare la caccia l'origine del file, perché tali informazioni è fondamentale per come si può risolvere il problema. Il comando
git log --all -- .DS_Store
fornisce un elenco di tutti i commit che hanno toccato il file .DS_Store
. Questi sono i commit che è necessario riscrivere per rimuovere lo .DS_Store
dalla cronologia.
Riscrivere i commit possono, naturalmente, essere fatto con la grande pistola git filter-branch
, ma finché è solo commit recenti che non sono ancora stati uniti, è possibile ottenere via con fare un git rebase -i
.
E, naturalmente, quando si è fatto, mettere .DS_Store
nella vostra .gitignore
e verificarlo nel. Questo dovrebbe impedire alle persone di aggiungere (accidentalmente) file .DS_Store
in futuro.
Inserire il file .DS_Store nel file gitignore non è sufficiente se è già in versione. – MrTux
Sì, sarebbe l'opzione. E per wi-fi.txt devi risolvere il conflitto. – MrTux