Maison outils de développement git Comment supprimer les commits historiques dans git

Comment supprimer les commits historiques dans git

Apr 26, 2023 am 09:16 AM

Ces dernières années, Git, en tant que puissant outil de contrôle de version, est devenu de plus en plus populaire parmi les équipes de développement. Cependant, lors de l’utilisation de Git, de mauvais commits peuvent parfois apparaître, et ces commits peuvent avoir un impact négatif sur le projet. Comment supprimer ces commits historiques est devenu un problème souvent rencontré par les utilisateurs de Git. Cet article détaillera comment supprimer les commits historiques dans Git.

1. Historique des soumissions Git

L'historique des soumissions Git est composé de nombreuses soumissions. Chaque fois que vous effectuez un commit dans Git, un nouveau commit est créé. Chaque soumission possède son propre identifiant (SHA) et contient des informations telles que l'auteur de la soumission, la date et la description de la soumission.

Vous pouvez afficher l'historique des validations dans Git via la ligne de commande Git ou l'outil client Git. Par exemple, en utilisant la ligne de commande Git, vous pouvez afficher l'historique des commits de ce projet à l'aide de la commande suivante :

git log
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Cette commande listera tous les commits sur la branche actuelle, répertoriés dans l'ordre inverse. Chaque commit a son propre SHA, le nom et l'adresse e-mail du committer, la date de validation et le message de validation.

2. Pourquoi supprimer les soumissions historiques

Dans le processus de développement collaboratif, de nombreux facteurs humains conduiront à l'apparition de mauvaises soumissions. Les « mauvaises soumissions » sont des soumissions qui peuvent contenir des erreurs, des vulnérabilités de sécurité, des informations sensibles, etc. Si ces mauvais commits ont été fusionnés dans la branche principale, cela peut avoir un impact négatif sur d'autres parties du projet.

De plus, si vous incluez du contenu que vous ne souhaitez pas que les autres voient avant de soumettre le code, comme des mots de passe, des clés API et d'autres informations sensibles, il peut être exposé après la soumission. À l’heure actuelle, la suppression des soumissions historiques est un moyen de protéger la confidentialité des utilisateurs.

3. Comment supprimer les commits historiques dans Git

Dans Git, il existe deux façons de supprimer les commits historiques : réécrire l'historique et utiliser le mécanisme de filtrage de Git.

  1. Réécrire l'histoire

La réécriture de l'histoire est en fait obtenue en modifiant les commits historiques. Cela signifie apporter des modifications et des réarrangements aux commits déjà publiés. Voici les étapes pour supprimer l'historique des commits Git :

(1) Utilisez la commande suivante pour afficher l'historique des commits :

git log
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

(2) Recherchez le SHA du commit que vous souhaitez supprimer et enregistrez-le.

(3) Utilisez la commande suivante pour réécrire l'historique. Dans cette commande, remplacez SHA par le SHA du commit que vous souhaitez supprimer :

git rebase -i SHA^
Copier après la connexion

Cette commande ouvrira un éditeur avec une liste de tous les commits depuis le dernier commit du commit sélectionné.

(4) Remplacez le "pick" devant le commit que vous souhaitez supprimer par "drop" ou commentez la ligne avec un signe dièse. Enregistrez et fermez l'éditeur.

(5) Exécutez la commande suivante pour forcer l'écrasement des commits dans Git :

git push --force
Copier après la connexion

Enfin, vous pouvez utiliser la commande suivante pour vérifier si vous avez réussi à supprimer l'historique des commits :

git log
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
  1. Utilisez le mécanisme de filtrage de Git

Dans Git , la commande filter-branch peut vous aider à supprimer l'historique des validations. Cette commande copie l'intégralité du référentiel et applique le filtre spécifié à chaque validation. Voici les étapes pour utiliser le mécanisme de filtrage de Git pour supprimer l'historique des commits Git :

(1) Utilisez la commande suivante pour créer un référentiel de copie :

git clone --mirror <Git URL>
Copier après la connexion

(2) Utilisez la commande suivante pour accéder au référentiel de copie :

cd <repository name>.git
Copier après la connexion

(3) Utilisez la commande suivante pour supprimer les commits historiques :

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch <filename>" --prune-empty --tag-name-filter cat -- --all
Copier après la connexion

Cette commande est utilisée pour supprimer les commits historiques du fichier nommé . Cette commande peut être modifiée selon les besoins. Ici, --tag-name-filter cat est utilisé pour corriger les balises. Enfin, cette commande sera appliquée à toutes les branches.

(4) Utilisez la commande suivante pour transmettre les modifications au référentiel Git :

git push --all --force
Copier après la connexion

Enfin, vous pouvez utiliser la commande suivante pour vérifier si l'historique des commits a été supprimé avec succès :

git log
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

IV Résumé

En réécrivant le fichier. history ou l'utilisation du mécanisme de filtrage de Git vous permet de supprimer les commits historiques dans Git. Cependant, avant de supprimer l’historique des validations, vous devez bien réfléchir et vous assurer que tous les membres de l’équipe comprennent l’impact du changement. De plus, les référentiels Git doivent être nettoyés régulièrement avant de fusionner les modifications afin de réduire les frais de stockage.

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Git vs GitHub: contrôle de version et hébergement de code Git vs GitHub: contrôle de version et hébergement de code Apr 11, 2025 am 11:33 AM

Git est un système de contrôle de version et GitHub est une plate-forme d'hébergement de code basée sur GIT. Git est utilisé pour gérer les versions de code et prend en charge les opérations locales; GitHub fournit des outils de collaboration en ligne tels que le suivi des problèmes et PullRequest.

Git est-il le même que Github? Git est-il le même que Github? Apr 08, 2025 am 12:13 AM

Git et Github ne sont pas la même chose. Git est un système de contrôle de version et GitHub est une plate-forme d'hébergement de code basée sur GIT. Git est utilisé pour gérer les versions de code et GitHub fournit un environnement de collaboration en ligne.

Github est-il difficile à apprendre? Github est-il difficile à apprendre? Apr 02, 2025 pm 02:45 PM

Github n'est pas difficile à apprendre. 1) Maître les connaissances de base: GitHub est un système de contrôle de version basé sur GIT qui aide à suivre les changements de code et le développement collaboratif. 2) Comprendre les fonctions principales: les enregistrements de contrôle de version chaque soumission, prenant en charge le travail local et la synchronisation à distance. 3) Apprenez à utiliser: de la création d'un référentiel pour pousser les validations, à l'utilisation des branches et des demandes de traction. 4) Résoudre des problèmes communs: tels que la fusion des conflits et oublier d'ajouter des fichiers. 5) Pratique d'optimisation: utilisez des messages de soumission significatifs, nettoyez les succursales et gérez les tâches à l'aide de la carte de projet. Grâce à la pratique et à la communication communautaire, la courbe d'apprentissage de Github n'est pas raide.

Dois-je mettre Git ou Github sur mon CV? Dois-je mettre Git ou Github sur mon CV? Apr 04, 2025 am 12:04 AM

Sur votre CV, vous devez choisir d'écrire Git ou GitHub en fonction de vos exigences de position et de votre expérience personnelle. 1. Si le poste nécessite des compétences GIT, mettez en surbrillance Git. 2. Si le poste valorise la participation de la communauté, montrez Github. 3. Assurez-vous de décrire l'expérience d'utilisation et les cas de projet en détail et terminer avec une phrase complète.

Microsoft possède-t-il Git ou Github? Microsoft possède-t-il Git ou Github? Apr 05, 2025 am 12:20 AM

Microsoft ne possède pas GIT, mais possède GitHub. 1.Git est un système de contrôle de version distribué créé par Linus Torvaz en 2005. 2. GitHub est une plate-forme d'hébergement de code en ligne basée sur GIT. Il a été fondé en 2008 et acquis par Microsoft en 2018.

Comment utiliser GitHub pour HTML? Comment utiliser GitHub pour HTML? Apr 07, 2025 am 12:13 AM

La raison de l'utilisation de GitHub pour gérer les projets HTML est qu'il fournit une plate-forme pour le contrôle des versions, le développement collaboratif et la présentation des œuvres. Les étapes spécifiques incluent: 1. Créer et initialiser le référentiel GIT, 2. Ajouter et soumettre des fichiers HTML, 3. Push to github, 4. Utilisez GitHubPages pour déployer des pages Web, 5. Utilisez des githubactions pour automatiser la construction et le déploiement. En outre, GitHub prend également en charge les fonctionnalités de révision, d'émission et de traction de code pour aider à optimiser et à collaborer sur les projets HTML.

Dois-je commencer par Git ou Github? Dois-je commencer par Git ou Github? Apr 06, 2025 am 12:09 AM

Le départ de Git est plus adapté à une compréhension approfondie des principes de contrôle des versions, et commencer à Github est plus adapté pour se concentrer sur la collaboration et l'hébergement de code. 1.Git est un système de contrôle de version distribué qui aide à gérer l'historique des versions du code. 2. GitHub est une plate-forme en ligne basée sur GIT, offrant des capacités d'hébergement et de collaboration de code.

Qu'est-ce que Git en mots simples? Qu'est-ce que Git en mots simples? Apr 09, 2025 am 12:12 AM

Git est un système de contrôle de version distribué open source qui aide les développeurs à suivre les modifications des fichiers, à travailler ensemble et à gérer les versions de code. Ses fonctions principales incluent: 1) l'enregistrement des modifications de code, 2) la secours vers les versions précédentes, 3) le développement collaboratif et 4) Créer et gérer les branches pour le développement parallèle.

See all articles