Maison > outils de développement > git > le corps du texte

Comment supprimer les versions précédentes dans git

WBOY
Libérer: 2023-05-25 19:31:08
original
1930 Les gens l'ont consulté

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>
Copier après la connexion

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
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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
Copier après la connexion

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>
Copier après la connexion

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
Copier après la connexion

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

pick abcdefg commit message
d eeeeee commit message
d fffffff commit message
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal