Maison  >  Article  >  outils de développement  >  Comment supprimer les versions précédentes dans git

Comment supprimer les versions précédentes dans git

WBOY
WBOYoriginal
2023-05-25 19:31:081913parcourir

Git est l'un des outils de contrôle de version les plus populaires aujourd'hui. Sa puissance et sa flexibilité sont préférées par les développeurs et les équipes, et Git peut suivre toutes les modifications et l'historique d'un projet. Cependant, à mesure que le développement progresse, certaines anciennes versions devront peut-être être supprimées. Cet article vous expliquera comment supprimer les anciennes versions et nettoyer votre historique Git.

  1. Git Reset

Vous pouvez facilement supprimer les anciennes versions à l'aide de la commande Git Reset, qui pointera la HEAD (branche actuelle) vers l'ancienne version que vous souhaitez supprimer. Notez que puisque Git Reset pointe en fait HEAD vers l’ancienne version, il perd toutes les modifications apportées après cette version.

La commande pour pointer HEAD vers l'ancienne version est la suivante :

git reset <commit>

où bc59094fbd619487e70ee0dbb7ee2c82 est l'ancien numéro de version que vous souhaitez supprimer. Par exemple, si vous souhaitez supprimer les deux commits les plus récents, la commande serait :

git reset HEAD~2

Cela pointera HEAD vers l'avant-dernier commit.

Une commande simple réinitialise HEAD mais ne supprime pas les commits. Si vous voulez vraiment supprimer le commit, vous devez utiliser l'option "--hard" :

git reset --hard <commit>

N'oubliez pas qu'il s'agit d'une opération sans retour. Si vous êtes passé à ce commit et que vous devez restaurer, veuillez créer une sauvegarde.

  1. Git Revert

L'utilisation de Git Revert crée un nouveau commit qui annule les modifications apportées par l'ancienne version. Il s'agit d'une approche plus sûre car elle ne supprime pas la validation mais crée une nouvelle validation pour annuler les modifications de l'ancienne version.

La commande pour annuler un commit est la suivante :

git revert <commit>

où bc59094fbd619487e70ee0dbb7ee2c82 est l'ancien numéro de version que vous souhaitez annuler. Par exemple, pour annuler les deux commits les plus récents, tapez ce qui suit :

git revert HEAD~2..HEAD

Cela créera un nouveau commit, annulant toutes les modifications du troisième au dernier commit jusqu'au dernier commit.

  1. Git Rebase

Les deux méthodes ci-dessus sont un moyen de modifier l'historique. Si vous utilisez Git Reset ou Git Revert dans une branche partagée, vous risquez de provoquer des erreurs d'historique pour d'autres. C'est là qu'intervient le rebasage de Git.

Git Rebase est une méthode d'organisation des commits pour former une nouvelle histoire. En intégrant les commits d'une branche dans les commits d'une autre branche, vous nettoyez l'historique de votre branche et supprimez les anciennes versions.

La commande est la suivante :

git rebase -i <commit>

où l'indicateur -i active une redistribution interactive où vous pouvez sélectionner les commits à supprimer. Par exemple, pour supprimer les deux derniers commits, tapez :

git rebase -i HEAD~2

Modifiez ensuite la liste des commits dans l'éditeur en :

pick abcdefg commit message
d eeeeee commit message
d fffffff commit message

Définissez les deux premiers éléments sur "Pick" et les deux autres éléments sur "d" (supprimer) . Enregistrez et fermez l'éditeur, et Git recréera un nouvel enregistrement d'historique.

Résumé

Vous trouverez ci-dessus trois façons de supprimer les anciennes versions à l'aide de Git. Chaque méthode est adaptée à différents scénarios et présente ses propres avantages et inconvénients. Veuillez choisir la méthode qui vous convient le mieux en fonction de votre situation spécifique. Quelle que soit la méthode que vous choisissez, n'oubliez pas de toujours faire une sauvegarde avant de supprimer un commit afin de pouvoir restaurer votre code si vous devez le restaurer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn