2012-04-07 16 views
15

Recentemente ho fatto un git stash, poi ha fatto un certo lavoro sul ramo e commesso, e ottenuto questi errori quando si cerca di fare un git stash apply:Come risolvere "cancellare/modificare" conflitto causato da "git scorta applicare"

CONFLICT (delete/modify): app/controllers/orders_controller.rb deleted in Updated upstream and modified in Stashed changes. Version Stashed changes of app/controllers/orders_controller.rb left in tree. 
CONFLICT (content): Merge conflict in app/models/product.rb 

git status evidenzia quanto segue: ha segnato

$ git status 
# On branch develop 
# Your branch is ahead of 'origin/develop' by 16 commits. 
# Unmerged paths: 
# (use "git reset HEAD <file>..." to unstage) 
# (use "git add/rm <file>..." as appropriate to mark resolution) 
# 
# deleted by us:  app/controllers/orders_controller.rb 
# both modified:  app/models/product.rb 

il file "cancellare/modificare" è stato un nuovo file che ho aggiunto e non aveva ancora commesso prima della stash.
Vorrei tornare nello stato in cui ero prima dello git stash - con modifiche locali non inviate. Puoi suggerire come farlo accadere?

Grazie.

risposta

8

Stai facendo scoppiare lo stash in uno stato diverso; stato che ha un commit aggiuntivo. E peggio, il commit ha introdotto conflitti di fusione, come sai.

Sono disponibili due opzioni:

  1. pop che Stash sul l'ultima commit e risolvere i conflitti
  2. pop la scorta sulla prima commit.

Suoni come # 2 è ciò che si desidera fare. Utilizzare:

git stash branch new_branch [<stash>] # <stash> will be the last one if not provided. 
+0

grazie. Mi sono appena reso conto che ho fatto il mio "stash apply" al ramo sbagliato. C'è un modo per annullare la 'stash apply' su questo ramo? – stupakov

+0

Il ramo sbagliato è stato pulito prima di fare lo 'stash apply'? E, ha fatto "stash apply" o "stack pop"? – GoZoner

+0

era pulito, e ho fatto 'stash apply' – stupakov

0

È necessario risolvere il conflitto! Poiché è stato aggiornato l'ultimo repository, i due file sono stati modificati, project.rb e orders_controller.rb sono stati modificati nell'ultimo repository. Allo stesso tempo, anche il tuo cambio locale (stash) ha modificato questi due file, quando li applichi, ci saranno dei conflitti.

È necessario risolvere il conflitto per applicare le modifiche locali.

Per il primo file, orders_controller.rb viene cancellato l'ultimo repository, si desidera mantenerlo o meno quando si preme il commit successivo?

Per il secondo file, project.rb è necessario risolvere il conflitto nel file.

Problemi correlati