J'ai le répertoire de travail (# 1) qui contient le répertoire du fournisseur (# 2). Il y a une dépendance que je voulais extraire manuellement sans composer (version php de npm / gem). Je travaillais dans le n ° 1, je n'ai pas enregistré / validé les modifications, lorsque j'ai décidé de mettre à jour la bibliothèque dans le n ° 2. J'ai navigué vers vendor / myname, et ai fait git pull repository.
Malheureusement, il a commencé à tirer et à fusionner vers le n ° 1, au lieu de créer un nouveau répertoire dans le dossier du fournisseur.
Maintenant j'ai:
- Dossier n ° 1 avec mes modifications
- Dossier n ° 1 avec des fichiers que je ne veux pas du mauvais référentiel
- # 1 conflits de fusion tels que composer.json, Readme.md ... (fichiers généraux)
Je veux "annuler" ce dernier git pull sans perdre les modifications que j'ai apportées au dossier n ° 1. Comment puis-je faire ceci?
Réponses:
git merge --abort
pourrait être ce que vous recherchez.la source
git status
pour confirmer.-Git moderne:
Plus âgée:
Old-school (avertissement: supprimera tous vos changements locaux):
Mais en fait, il vaut la peine de noter que cela
git merge --abort
équivaut uniquement à cegit reset --merge
quiMERGE_HEAD
est présent. Cela peut être lu dans l'aide de git pour la commande de fusion.Après un échec de fusion, quand il n'y en a pas
MERGE_HEAD
, la fusion échouée peut être annulée avecgit reset --merge
mais pas nécessairement avecgit merge --abort
, de sorte qu'il ne s'agit pas seulement d'une ancienne et d'une nouvelle syntaxe pour la même chose . Personnellement, je trouvegit reset --merge
beaucoup plus utile dans le travail quotidien.la source
Avec Git 2.10 (Q3 2016), vous saurez quoi faire, car vous
git status
proposerez l'git merge --abort
option.Voir commit b0a61ab (21 juillet 2016) par Matthieu Moy (
moy
) .(Fusionné par Junio C Hamano -
gitster
- in commit 5a2f4d3 , 03 août 2016)la source