2012-05-02 15 views
8

ho fatto un pull git ed ha trovato che uno dei miei file ha bisogno di essere uniti.Come nascondere il codice non inserito in git?

Non voglio veramente di unire quel file in questo momento - ho un altro ramo che ho bisogno di lavorare, e mi metterò di nuovo a questo ramo in seguito per risolvere l'unione.

Qual è il miglior modo di agire per me, per "annullare" questa tensione? O come posso resistere a questa fusione fino a quando non sono pronto ad affrontarlo? Cosa devo fare per poter cambiare rami, ma poi tornare a questo stato non incluso nel mio codice?

risposta

10

Questo è un buon esempio del perché mi sa fare un'operazione di recupero al posto di un tiro è una buona idea.

Che cosa si può fare è semplicemente reimpostare la filiale al suo stato precedente ..

git reset --hard HEAD~1 

o se siete già a metà della fusione (risoluzione dei conflitti), basta interrompere esso ..

git merge --abort 

terminare le modifiche e poi ...

git fetch 
...have a look at what's changed 
git merge origin/branch 

Un modo semplice per vedere cosa è cambiato è quello di fare

git cherry branch origin/branch -v --abbrev=6 

che vi darà un elenco di commit che sono nel ramo origine, ma non nella vostra filiale ... se avete bisogno i dettagli di cosa è cambiato in quel commettono poi

git show commit --name-status 
1

Se stai cercando di soffiare via le modifiche su una testa corrente, git reset --hard è il vostro biglietto. Ciò dovrebbe consentire di scambiare rami e tornare a questo e ripetere questa unione in un secondo momento.

Se si rebasing, git rebase --abort si annulla l'operazione pure.

Problemi correlati