web-dev-qa-db-fra.com

Git rebase drop interactif vs suppression de la ligne de commit

Quelle est la différence par rapport à drop dans le rebase interactif de Git et juste la suppression de la ligne du commit?

43
Wazery

Il n'y a pas de différence par défaut, c'est juste une autre façon de dire la même chose.

Mais , si vous activez rebase.missingCommitsCheck , la suppression d'une ligne déclenchera un avertissement (utile pour détecter si vous avez foiré- un copier-coller), tout en utilisant drop indique explicitement à Git que vous voulez supprimer la ligne, et Git ne donnera aucun avertissement.

38
Matthieu Moy

Il est en fait une autre petite différence:

Vous pouvez explicitement "supprimer" toutes les validations. L'effet sera le même qu'une réinitialisation.

Cependant, si vous supprimez simplement toutes les lignes, git vous dira "Rien à faire".

Habituellement, vous n'utiliseriez pas de rebase de toute façon dans ce cas. J'ai appris la différence uniquement lorsque j'ai essayé d'expliquer la suppression d'un commit avec rebase à un collègue utilisant un commit fictif.

23
Stephen Friedrich

Marquer un commit comme drop revient à supprimer la ligne.

La validation sera supprimée/ignorée.

Voyez quand vous faites défiler vers le bas:

Si vous supprimez une ligne ici, cet engagement sera perdu.

La commande drop a été ajoutée dans 2.6.0-rc1 :

La commande "git rebase -i" learn "drop commit-object-name subject" est une autre façon de sauter la relecture d'un commit.

8
MrTux