2012-06-23 4 views
9

Sto usando git nei miei progetti, ogni volta che provo a tirare da Xcode ottengo "Modifiche non eseguite" e mi impedisce di tirare/spingere. Provo a commettere e trovare un file con estensione * .xcuserstate, questo file viene modificato ogni volta che apro/scorro in qualsiasi file di progetto in Xcode. Questo non mi lascia altra scelta che fare un singolo commit che contiene quel file, che riempie i log di commit git con commit senza senso.Xcode dice "Modifiche non inviate" Ogni volta che provo a tirare o spingere

È possibile interrompere questo comportamento?

Ho provato a mettere * .xcuserstate e xcuserdata in git ignore ma questo ha causato l'arresto di Xcode ogni volta che provo a tirare.

Questo succede con Xcode 4.2 e 4.3

risposta

18

Normalmente non si desidera inserire i file *.xcuserstate e *.xcuserdata nel proprio repository Git. Questi file non fanno realmente parte del tuo progetto, ma sono solo un posto in cui Xcode memorizza le informazioni locali utili quando ricarichi il tuo progetto.

È possibile risolvere questo problema utilizzando:

git rm --cached *.xcuserstate *.xcuserdata 

e poi commettere il risultato. Questo rimuoverà quei file dal repository senza rimuoverli dalla tua directory di lavoro.

+0

Ho provato a inserirli in gitignore ma Xcode si blocca quando provo a tirare, succede questo con te? –

+0

No, non è così. Xcode è in esecuzione quando si tira? Forse prova prima a chiudere Xcode. –

+0

Lo proverò con il mio team e accetterò la risposta se ha funzionato OK. –

2

Se si tratta di un file di impostazioni che è diverso per ogni sviluppatore, probabilmente non c'è bisogno di controllo di versione, basta rimuoverlo dalla Git.

Se questa non è un'opzione, è possibile Git Stash Save le modifiche prima di tirare e Git Stash pop per applicarle nuovamente.

+0

Ho provato a inserirli in gitignore ma Xcode si blocca quando provo a tirare, questo succede con te, hai provato quel metodo? –

+0

No, personalmente non inserisco mai i file di configurazione sotto il controllo del codice sorgente. Hai provato a metterli al loro posto? – Usman