Je suis sur la branche mybranch1
. mybranch2
est créé à partir de mybranch1
et des modifications ont été apportées à mybranch2
.
Ensuite, alors que je suis sur mybranch1
, j’ai fait git merge --no-commit mybranch2
Il montre qu’il ya eu des conflits lors de la fusion.
Maintenant, je veux tout supprimer (la commande merge
) afin que mybranch1
redevienne comme avant. Je ne sais pas du tout comment je vais m'y prendre.
Dernier Git:
git merge --abort
Cela tente de réinitialiser votre copie de travail à l'état dans lequel elle se trouvait avant la fusion. Cela signifie qu'il doit restaurer toutes les modifications non validées antérieures à la fusion, bien qu'il ne puisse pas toujours le faire de manière fiable. De manière générale, vous ne devriez de toute façon pas fusionner avec des modifications non validées.
Avant la version 1.7.4:
git reset --merge
Ceci est une syntaxe plus ancienne mais fait la même chose que ci-dessus.
Avant la version 1.6.2:
git reset --hard
qui supprime toutes les modifications non validées, y compris la fusion non validée. Parfois, ce comportement est utile même dans les versions les plus récentes de Git prenant en charge les commandes ci-dessus.
En fait, il est intéressant 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 l'aide de git pour la commande de fusion.
git merge --abort # is equivalent to git reset --merge when MERGE_HEAD is present.
Après une fusion échouée, quand il n’ya pas de MERGE_HEAD
, elle peut être annulée avec git reset --merge
mais pas nécessairement avec git merge --abort
, elles ne sont donc pas uniquement anciennes et nouvelles). pour la même chose.
Personnellement, je trouve git reset --merge
beaucoup plus utile au travail quotidien.
En supposant que vous utilisez le dernier git,
git merge --abort