2012-02-14 14 views
9

Quando ho git pull origin development, ho ottenuto l'errore:errore: file di albero di lavoro Untracked

error: Untracked working tree file '<path-to-file>' would be overwritten by merge 

La ragione è che un file che si trova nella remote development branch non è messo a git nel mio progetto locale (che non voglio quel file nel controllo di versione, così ha fatto git rm). Ma su remote development, quel file viene chiuso per il controllo di versione

Come risolvere questo problema? Fondamentalmente, voglio che il ramo remoto rimuova anche il file dal controllo di versione.

+0

Eventualmente duplicare di http://stackoverflow.com/questions/1125968/force-git-to-overwrite-local-files-on-pull – vpatil

risposta

4

Per risolvere il problema immediato, si dovrebbe fare un backup del file locale, rimuovere l'originale, tirare dal ramo remoto, quindi git rm (seguito da una spinta, per assicurarsi che il repository remoto cancelli anche il file). Quindi è possibile ripristinare localmente il file di backup e aggiungere una riga al file .gitignore.

+0

Il problema si verifica quando git pull. –

+0

Modifica la mia risposta. Quello che devi fare è rimuovere la copia locale non tratteggiata. Quello che sta succedendo è che un file esiste in remoto, ma non localmente. git non ti permetterà di sovrascrivere un file locale non tracciato. –

2

Questo sta accadendo a causa di un file non monitorate saranno sovrascritti da un nuovo file proveniente dalla richiesta di pull

Il mio suggerimento sarebbe quello di:

git add . 
git stash 
git pull 

In sostanza aggiungendo i file che non sono rintracciato nel tuo repository git e nascondendoli e inserendo la nuova versione.

Problemi correlati