2013-04-01 8 views
22

Ho problemi con il mio git su una macchina Windows. Ho sempre alcuni file git che vengono modificati in ogni repository, i file che mostrano come modificati sono gli stessi.git su Windows mostra file modificati tutto il tempo, anche per il repository appena clonato

Se clonato un nuovo repository e utilizzo tortoisegit per il commit, vedo alcuni file come modificati, anche se non ho mai toccato un singolo file nel repository. "gitstatus" non mostra alcuna modifica anche se

Qualsiasi aiuto è apprezzato. Grazie

+0

[Fine riga] (https://help.github.com/articles/dealing-with-line-endings) sono probabilmente il tuo problema. –

+0

Questo è probabilmente un bug nel tortoisegit, simile al bug in GitHub per Windows: http://stackoverflow.com/questions/15717077/line-endings-with-cygwin-and-github-for-windows/15719108# –

risposta

19

Verificare se le modifiche apportate sono semplicemente modifiche ai permessi dei file. Questo è stato il motivo nel mio caso, sia TortoiseGit che Git Extensions hanno mostrato file non modificati.

Usa git config core.fileMode false-ignore chmod differences (o modificare direttamente il/ file di .git config).

Si consiglia inoltre di impostarlo come configurazione globale con git config --global core.filemode false.

+5

Su Windows non ha alcun effetto eccetto se si sta usando git da Cygwin. – rustyx

14

Problema di fine riga. Impostalo sul tuo computer Windows:

git config --global core.autocrlf true 
+0

Anche , il file apparirà cambiato mentre anche le terminazioni di linea appariranno esattamente uguali. Questo perché Git confronta la versione che sta per essere commessa, ma presenta le versioni locali. Dovrai impegnare il file una volta dopo aver cambiato l'impostazione 'autocrlf', e per il futuro assicurati che tutti i membri del team abbiano impostato correttamente questa impostazione. – rustyx

9

Nessuna delle correzioni proposte ha funzionato per me. Tuttavia, ho installato Cygwin e TortoiseGit ha preso il suo percorso quando installato. L'ho risolto installando il pacchetto Git ufficiale e modificato il percorso in TortoiseGit.

+1

So che questo è vecchio, ma è stato l'unico che mi ha aiutato. Avrai di nuovo questo problema, ogni volta che aggiorni TurtoiseGit, a meno che (presumo) tu abbia la configurazione PATH corretta, con il percorso GIT prima del percorso Cygwin. – lionscribe

6

Se si utilizza TortoiseGit con Cygwin git (non ufficialmente supportato), dovrebbe essere fatto diversi passaggi di configurazione aggiuntivi:

  1. Selezionare la cartella come git.exe [CYGWIN-INSTALL-PATH]\bin-folder.

  2. Configurare la variabile di ambiente HOME in Windows, in modo che Cygwin e TortoiseGit stiano utilizzando la stessa directory home e git-config globale. Utilizza la normale notazione di Windows qui (ad es., C:\Users\USERNAME). Per impostazione predefinita, TortoiseGit utilizza la home directory di Windows che si trova normalmente in c: \ Users e Cygwin utilizza le proprie directory home che si trovano sotto [CYGWIN-INSTALL-PATH]\home.

  3. Configurare AutoCrLf, questo è necessario poiché TortoiseGit e Cygwin Git hanno valori predefiniti diversi. L'impostazione predefinita in Cygwin Git è true.

  4. Vai alla TortoiseGit la sezione Advanced Settings e impostare CygwinHack a true al fine di attivare soluzioni alternative Cygwin.

  5. Riavviare.

Il passaggio 4 è fondamentale e ha risolto il problema per me.

di riferimento (vedi Cygwin Git sezione): https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html

1

Ho appena avuto questo problema e per me la correzione è rivelato essere abbastanza semplice.

Verificare che non siano attualmente in esecuzione processi git e quindi eliminare .git\index.lock.

Dopo questo lo stato modificato dei miei file è stato gestito correttamente.

Problemi correlati