J'ai un répertoire de travail (# 1) qui contient un répertoire de fournisseurs (# 2). Il y a une dépendance que je voulais extraire manuellement sans composer (version php de npm/gem). Je travaillais dans # 1, je n'ai pas enregistré/validé les modifications, quand j'ai décidé que je voulais pour mettre à jour la bibliothèque dans le numéro 2. J'ai navigué vers vendeur/myname, et j'ai fait git pull repository.
Malheureusement, il a commencé à tirer et à fusionner vers # 1, au lieu de créer un nouveau répertoire dans le dossier du fournisseur.
Maintenant j'ai:
Je veux "annuler" ce dernier pull git sans perdre les modifications que j'ai apportées au dossier # 1. Comment puis-je faire ceci?
git merge --abort
pourrait être ce que vous cherchez.
Git moderne:
git merge --abort
Plus âgée:
git reset --merge
Old-school (avertissement: supprimera toutes vos modifications locales):
git reset --hard
Mais en fait, il convient de noter que git merge --abort
n'est équivalent qu'à git reset --merge
étant donné que MERGE_HEAD
est présent. Cela peut être lu dans la commande git help for merge.
git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.
Après l'échec d'une fusion, lorsqu'il n'y a pas de MERGE_HEAD
, la fusion ayant échoué peut être annulée avec git reset --merge
mais pas nécessairement avec git merge --abort
, donc ce ne sont pas seulement une ancienne et une nouvelle syntaxe pour la même chose. Personnellement, je trouve git reset --merge
beaucoup plus utile dans le travail quotidien.
Avec Git 2.10 (Q3 2016), vous saurez quoi faire, car git status
proposera le git merge --abort
option.
Voir commit b0a61ab (21 juillet 2016) par Matthieu Moy (moy
) .
(Fusionné par Junio C Hamano - gitster
- in commit 5a2f4d , 03 août 2016)
status
: suggère 'git merge --abort
' le cas échéantNous suggérons déjà '
git rebase --abort
'lors d'un rebasage en conflit.
De même, suggérez "git merge --abort
'pendant la résolution du conflit sur'git merge
'.