2015-05-15 7 views
7

Ho un repository locale del sito e un repository remoto. Il repository locale contiene il contenuto di 1-2 mesi del repository remoto.Unisci errore di conflitto, quando non c'era alcun cambiamento nel file menzionato

Provo a richiamare l'intero contenuto nel repository locale.

git pull origin master 
From ssh://.../site.git 
* branch   master  -> FETCH_HEAD 
... 
CONFLICT (add/add): Merge conflict in admin/process_email.php 
Automatic merge failed; fix conflicts and then commit the result. 

ho controllato process_email.php usando P4Merge, ma non mostra alcun conflitto, inoltre non c'erano cambia, nessuna differenza.

UPDATE:

ottengo

$ git status 
On branch master 
nothing to commit, working directory clean on both repos. 

Inoltre ho provato

$ git pull -X theirs origin/master master 

ma ancora ottenere lo stesso errore.

Voglio unire il repository di origine remoto con il mio repository locale. Voglio sovrascrivere il repository locale con contenuto di repository di origine remota poiché il repository remoto è più recente, contiene il codice più recente.

Più di 2000 file sono in conflitto, mentre ho controllato il conflitto e hanno lo stesso contenuto. Non vorrei fare la gestione manuale dei conflitti.

I have autocrlf = False nel file .gitconfig.

Perché viene visualizzato un errore di conflitto per i file che hanno esattamente lo stesso contenuto?

+0

Prova file aperto in Blocco note o Notepad ++ e cercare di qualsiasi tag che indica fondersi in mancanza, c'è qualcuno? –

+0

Non ci sono ancora tag. – klor

+0

Questo è estremamente strano.Se si ottiene l'errore "CONFLICT (aggiungi/aggiungi): Unisci conflitto in xxx", allora nel file dovrebbero esserci indicatori di conflitto e 'git status' dovrebbe riportare il file come conflitto (testo:" entrambi aggiunti "). – sleske

risposta

3

finalmente risolto il problema, sulla base di soluzione utilizzata in questo thread:

How to handle/fix git add/add conflicts?

# moved all files from the local workdir to another directory. 
mv /workdir/* /old_content 

# commit this change 
git commit -m 'Resolve git Add/Add branch merge conflict by deleting conflicted folder and files in myconflictedfolder' 

# do merge from remote 
git pull origin master 

Pull è stato eseguito con successo, nessun conflitto più.

Ora posso sovrascrivere la directory old_content, se lo desidero, quindi eseguire il commit.

Con i migliori saluti, Konrad

0

I messaggi indicano che si ha un conflitto , il che significa che il file è stato aggiunto sia nel ramo che in quello che si sta unendo. Questo limita la capacità di Git di fondersi perché non esiste un antenato comune (cioè otterrai conflitti per ogni parte del file diversa da entrambi i lati). Apri il file nel tuo editor di testo e vedi se hai marcatori di conflitti e risolvili.

In esecuzione git status fornirà ulteriori informazioni su ciò che sta succedendo.

Una volta soddisfatti del contenuto del file, eseguire git add su di esso e git commit.

+0

Post originale aggiornato. – klor

Problemi correlati