Maison  >  Article  >  outils de développement  >  Résumé de la méthode Git de suppression des commits distants

Résumé de la méthode Git de suppression des commits distants

PHPz
PHPzoriginal
2023-04-04 10:42:286565parcourir

Git est un système de contrôle de version distribué open source qui fournit aux développeurs des commandes et des outils importants, ce qui est extrêmement pratique lors du développement de logiciels et de la collaboration. Parmi eux, la clé de la communication Git est le concept de commit, car pendant le processus de soumission, l'équipe peut prendre connaissance des modifications du code et des contributions personnelles.

Cependant, nous devons parfois supprimer les commits soumis. Par exemple, si du code inutile ou des informations sensibles sont soumis, ils doivent être supprimés de la base de code distante. À l’heure actuelle, nous devons apprendre comment supprimer les validations soumises dans Git et comment transférer les modifications supprimées vers la base de code distante. Ce qui suit explique comment supprimer les validations distantes dans Git.

1. L'essence du commit Git

Dans Git, chaque commit a une valeur de hachage SHA-1 unique comme identifiant. Cette valeur de hachage est calculée par Git en fonction du contenu du commit. Si un caractère change, la valeur de hachage changera en conséquence. C'est pourquoi un commit ne peut être que supprimé, pas modifié.

2. Utilisez la commande Git reset pour supprimer des commits

Pour supprimer un commit, vous devez d'abord utiliser la commande Git reset pour pointer le pointeur HEAD vers le commit précédent qui doit être supprimé. Ce pointeur HEAD pointe vers le dernier commit de la base de code locale. La commande reset peut être utilisée pour modifier la position du pointeur HEAD. Si vous souhaitez supprimer un commit, vous devez pointer HEAD vers le commit précédent du commit qui doit être supprimé, afin de pouvoir "supprimer" le commit qui doit être supprimé.

Par exemple, nous avons les enregistrements de commit suivants :

commit2
commit1

Si nous voulons supprimer commit2, nous devons d'abord pointer HEAD vers commit1 :

git reset HEAD~1

Cette commande signifie pointer HEAD vers le commit précédent (commit1 Cette commande). n'est pas seulement le pointeur HEAD est déplacé vers commit1, et commit2 est également supprimé de la base de code locale Git.

3. Utilisez la commande push Git pour soumettre les modifications à la base de code distante

Dans l'étape précédente, utilisez la commande reset pour supprimer le commit dans la base de code locale, mais si vous souhaitez supprimer le commit dans la base de code distante base de code, vous devez la supprimer. Les modifications sont transférées vers la base de code distante. Voici deux méthodes :

1. Forcer le push : Dans Git, le force push est la méthode la plus couramment utilisée car elle permet de mettre à jour immédiatement la base de code distante. La commande pour forcer le push est :

git push -f

Cette commande signifie forcer les modifications locales de la base de code distante, même si ces modifications écraseront les validations validées dans la base de code distante.

2. Utilisez « revert » pour inverser la validation : cette méthode convient aux situations où vous ne souhaitez pas supprimer la validation, mais l'inverser pour obtenir le résultat opposé. Pour utiliser cette méthode, vous devez d'abord soumettre un commit « revert », qui annule le commit précédent et ajoute un commit d'inversion correspondant. Le contenu de cette validation d'inversion est l'inverse des modifications apportées par la validation précédente, restaurant ainsi la base de code à son état précédent. Exemple de cette commande :

git revert <commit-id>

4. Précautions

Vous devez être prudent lorsque vous supprimez des commits distants, car une fois supprimés, ils ne peuvent plus être récupérés. Assurez-vous d'avoir sauvegardé le code du commit qui doit être supprimé afin de pouvoir le restaurer si nécessaire à l'avenir.

Le code ne peut pas être supprimé du référentiel public, car après la suppression du commit, il existe toujours dans les référentiels locaux d'autres personnes et le référentiel public ne sera pas effacé. Si vous souhaitez effacer des informations sensibles, envisagez d'utiliser la commande git filter-branch de Git ou un outil similaire.

Résumé : 

Ce qui précède explique comment Git supprime les validations à distance. Les développeurs qui utilisent les commandes Git pour la gestion du code doivent comprendre ces principes de base et ces procédures opérationnelles. Lors de la suppression d'un commit, vous devez faire attention à protéger le code source dans la base de code et effectuer une sauvegarde pour éviter la perte de données. Dans le même temps, il est recommandé de supprimer les informations sensibles du code pour protéger la sécurité du projet.

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