2016-04-01 22 views
8

Ho lavorato a un progetto e ho modificato un gruppo di file in una cartella. Questa cartella risiede sul mio locale e non è vista da GIT. Di solito copio l'intera cartella su un altro computer che viene guardato da GIT per essere trasferito al repository. Il problema ora è che un gruppo di file viene mostrato come modificato a causa della fine della linea e degli spazi che vengono mostrati, poiché viene copiato da Windows in una finestra Linux.Esiste un modo in GIT per rimuovere i file modificati dall'impegno se sono stati modificati meno di 2 caratteri?

Ho eseguito il seguente comando: git diff --stat per mostrare tutti i file modificati con il numero di righe/caratteri modificati.

enter image description here

Come si può vedere molti di questi file hanno zero cambiamenti fatti a loro. Tuttavia, vengono ancora visualizzati nella sezione modificata stato git.

Come si rimuovono o si ripristinano i valori normali poiché non ho mai modificato nulla con questi file?

+2

La domanda migliore è come si ottiene git per ignorare le modifiche di nuova riga. [Ecco un documento Github su questo] (https://help.github.com/articles/dealing-with-line-endings/). – Schwern

+0

Grazie per il chiarimento. È questo il colpevole che sta causando questo problema? –

+2

Possibile duplicato di [Stato di Git ignora terminazioni di linea/file identici/Windows e ambiente Linux/dropbox/mled] (http://stackoverflow.com/questions/20496084/git-status-ignore-line-endings-identical-files- windows-linux-environment) –

risposta

1

Penso che sia più probabile che questi file vengano visualizzati a causa dei cambiamenti di modalità. Prova a eseguire git diff su uno di essi. Vedi qualcosa del genere?

$ git diff query.viewport.js 
diff --git a/query.viewport.js b/query.viewport.js 
old mode 100644 
new mode 100755 

Se è così, allora si potrebbe essere in grado di risolvere questo con qualcosa di simile:

$ find modules/hotsite/ -type f -print0 | xargs -0 chmod -x 
5

Controlla la configurazione sul repository Git di destinazione in cui copi questi file.

git config core.autocrlf 

Assicurarsi di impostare su false: git config core.autocrlf false (see more here).

Quindi ricontrollare la presenza e il contenuto dei file .gitattributes. Possono influenzare anche eol con core.eol directives.

Problemi correlati