2011-12-15 18 views
10

Sto lavorando con Git sul mio PC Windows 7 sulla riga di comando e con TortoiseGit. Funziona bene Ora ho installato EGit per Eclipse. EGit mostra tutti i file come modificati anche se lo stato git riporta correttamente, che non ci sono cambiamenti.Egit mostra tutti i file come modificati

Qualche idea di cosa c'è che non va?

+1

Eclissi che modifica lo stile delle terminazioni di riga (da 'LF' a' CRLF' o viceversa)? –

+0

@DavidBrigada ha detto che 'git status' non mostra alcuna differenza – fge

risposta

13

Ho avuto anche il problema simile, ho cambiato la proprietà al di sotto di impostazione repository in configurazione Git in Eclipse

autocrlf = false

Questo ha risolto il problema

È possibile ottenere ulteriori informazioni da sul link qui sotto troppo:

There is nothing changed, but eclipse egit marks the file as changed

Fondamentalmente ho aggiunto questo pro perty come true per indirizzare i caratteri ctrl + M nei file di script. Ora non sono sicuro su come risolvere questo problema. Qualsiasi pensiero su questo, per favore condividi.

+1

Contrariamente al post menzionato, sto lavorando solo su Windows. Tutti gli altri strumenti, incluso Eclipse, funzionano bene e non ci sono ancora problemi di fine riga. È solo EGit che mostra tutto come è cambiato. Giocare con le impostazioni di fine linea influenzerà il repository che non è sicuramente la strada da percorrere. – BetaRide

+0

Risolto il problema per me! – Etienne

+0

Sembra aver risolto il mio problema, forse è anche una buona idea cambiare le terminazioni di linea di Eclipse in Unix se si lavora su più piattaforme. Guida> Preferenze> Generali> Area di lavoro> Nuovo delimitatore di riga del file di testo – 3urdoch

2

Questa è una risposta tardiva, ma di recente ho riscontrato questo stesso problema all'inizio della clonazione di un repository git. EGit mostrava tutti i file come modificati anche se era appena stato clonato e git bash non mostrava cambiamenti nei file.

Poiché di solito non si desidera autocrlf = false su macchine Windows, ho lasciato autocrlf = true e clonato il repository. Poi in EGit ho commesso le modifiche finte a tutti i file e infine in git bash ripristinato il commit precedente con git reset --hard HEAD^1. Questo ha indotto EGit a pensare che le terminazioni di linea fossero corrette senza dover toccare il repository attuale. Commits e pull dopo questo punto non hanno riprodotto la confusione di EGit nella mia configurazione. Inoltre, non vengono apportate modifiche inaspettate alla fine della riga quando si esegue il push nel repository.

1

Non sono mai riuscito a far funzionare nessuna delle soluzioni suggerite. Alla fine ho risolto il problema ri-clonando il repository con Windows installato Git Bash (avevo già clonato Git con Cygwin in precedenza).

Sto postando questa come un'altra risposta nel caso in cui qualcun altro sia nella stessa barca come me.

1

Avevo anche questo problema e mi stava facendo impazzire! Si kepts dire 'Acquista i conflitti con il file:'

Comunque sono riuscito a (tipo di) risolvere questo problema utilizzando una combinazione dei seguenti elementi:

Team -> Avanzate -> Assunta Invariato sulla risorsa che causa il conflitto

Quindi modificare core.autocrlf su false e impostare anche core.whitespace sulla stringa vuota.

Questo funziona correttamente per i file .java ma i file .xml e .xsd causano ancora questo problema!

Problemi correlati