Maison outils de développement git Comment supprimer le commit sur github

Comment supprimer le commit sur github

Apr 06, 2023 pm 12:48 PM

À mesure que les programmeurs maîtrisent de plus en plus Github, ils peuvent rencontrer divers problèmes. Parmi eux, la suppression d’un commit est l’un des problèmes courants. Avant d'écrire cet article, nous devons connaître quelques bases de Git pour mieux comprendre le processus de suppression des commits.

Git est un système de contrôle de version distribué (DVCS). Cela permet à plusieurs personnes de travailler sur le même projet. Tout le monde peut apporter des modifications au code et appliquer les modifications au référentiel partagé. Lorsque tout le monde souhaite fusionner ses modifications dans une base de code partagée, un composant important de Git - branch (branche) s'avère utile. Chaque branche est un enregistrement indépendant et des modifications peuvent être ajoutées via la commande commit. La commande commit enregistre les modifications dans la base de données locale de Git et attribue un hachage SHA-1 comme identifiant.

Supprimer un commit dans Git n'est pas une opération courante, car chaque commit est un enregistrement indépendant dans la base de données Git. Chaque changement est un « instantané » immuable, et non une différence de changements. Par conséquent, la suppression d'une validation peut détruire l'historique des validations d'autres personnes, rendant la bibliothèque partagée inutilisable ou impossible à fusionner. Donc, si vous souhaitez supprimer une validation, concentrez-vous sur la façon d’annuler la validation sans casser la base de code.

Tout d'abord, si vous souhaitez simplement annuler toutes les modifications locales et écraser le contenu de la branche actuelle, vous pouvez utiliser la commande suivante :

git reset --hard HEAD
Copier après la connexion

Cette commande pointera le pointeur HEAD (c'est-à-dire le dernier commit de la branche actuelle) vers le commit spécifié et restaurez l'arborescence de travail et la zone de préparation vers ce commit. Cela effacera également toutes les modifications non validées. Cependant, veuillez noter que cela supprimera toutes les modifications locales et écrasera toutes les modifications. Si vous souhaitez quand même conserver certaines modifications, vous devez d'abord les enregistrer sous et utiliser cette commande pour revenir au commit précédent (comme 'git reset --hard HEAD~2').

Deuxièmement, si vous souhaitez simplement annuler le commit tout en conservant toutes les modifications locales, vous pouvez utiliser la commande suivante :

git reset HEAD~
Copier après la connexion

Cette commande pointe le pointeur HEAD vers son nœud parent mais ne modifie pas l'arborescence de travail. L’annulation des validations restera en dehors de l’arborescence de travail et de la zone de préparation. Vous pouvez continuer à modifier le fichier et soumettre les modifications en tant que nouveau commit.

Enfin, si vous avez poussé les modifications vers une bibliothèque partagée et souhaitez supprimer le commit, utilisez la commande suivante :

git revert <commit的SHA-1值>
Copier après la connexion

Cette commande annulera le commit spécifié et créera un nouveau commit qui annulera le commit spécifié. Vous pouvez spécifier plusieurs validations, puis fusionner les validations annulées pour obtenir une meilleure combinaison.

Il y a quelques points à garder à l’esprit lors de la suppression de commits dans Git. Tout d’abord, réfléchissez bien avant d’ajouter des modifications à votre référentiel local ou à votre bibliothèque partagée. Les commits sont immuables et leur suppression peut provoquer un chaos encore plus grand. Deuxièmement, soyez prudent avec les commandes Git, notamment sur les bases de code partagées. Une mauvaise utilisation de ces commandes peut entraîner des conflits qui ne peuvent pas être fusionnés, voire une perte de données qui ne peuvent pas être récupérées. Enfin, il est recommandé de sauvegarder vos données avant d'apporter des modifications afin d'éviter les effets indésirables de vos modifications.

Supprimer un commit peut être l'une des opérations les plus délicates dans Git. Cependant, si vous comprenez quelques bases et que vous l'abordez avec prudence, vous devriez être en mesure de mener à bien la tâche sans détruire l'historique des validations des autres.

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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

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)

Comment pousser le validation spécifié Comment pousser le validation spécifié Mar 06, 2025 pm 01:39 PM

Comment pousser le validation spécifié

Comment utiliser les outils de gestion GIT pour une utilisation complète des outils de gestion GIT Comment utiliser les outils de gestion GIT pour une utilisation complète des outils de gestion GIT Mar 06, 2025 pm 01:32 PM

Comment utiliser les outils de gestion GIT pour une utilisation complète des outils de gestion GIT

La différence entre le validation et la poussée de Git La différence entre le validation et la poussée de Git Mar 06, 2025 pm 01:37 PM

La différence entre le validation et la poussée de Git

Comment afficher les contenus des engagements Comment afficher les contenus des engagements Mar 06, 2025 pm 01:41 PM

Comment afficher les contenus des engagements

Comment résoudre l'échec de la soumission de la validation GIT Comment résoudre l'échec de la soumission de la validation GIT Mar 06, 2025 pm 01:38 PM

Comment résoudre l'échec de la soumission de la validation GIT

La différence entre l'ajout et le commissation de git La différence entre l'ajout et le commissation de git Mar 06, 2025 pm 01:35 PM

La différence entre l'ajout et le commissation de git

Qu'est-ce que l'outil de gestion du code GIT? Qu'est-ce que l'outil de gestion du code GIT? Mar 06, 2025 pm 01:31 PM

Qu'est-ce que l'outil de gestion du code GIT?

Tutoriel sur l'utilisation de git commit Tutoriel sur l'utilisation de git commit Mar 06, 2025 pm 01:36 PM

Tutoriel sur l'utilisation de git commit

See all articles