Maison > Article > outils de développement > Comment annuler un commit git
Git est un outil de contrôle de version populaire, mais même les développeurs expérimentés peuvent accidentellement commettre le mauvais code ou les mauvaises informations personnelles. Dans ce cas, il est crucial d'annuler la validation afin de résoudre le problème sans détruire l'historique de la base de code.
Voici les étapes à suivre pour annuler un commit git.
Si vous avez soumis un code erroné ou des informations personnelles et que vous n'avez pas transmis l'erreur à l'entrepôt distant, le moyen le plus simple est d'annuler le commit.
Pour annuler un commit, affichez d'abord votre historique des commits à l'aide de la commande suivante :
git log
Cela vous montrera tous vos commits récents.
Veuillez noter la valeur de hachage de chaque commit, cela vous aidera dans les prochaines étapes.
Pour annuler la validation la plus récente, vous pouvez exécuter la commande suivante :
git reset HEAD~1
Cela annulera la validation la plus récente, mais conservera les modifications que vous avez apportées à cette validation.
Dans l'image ci-dessus, HEAD~1 signifie "annuler la soumission la plus récente".
Pour annuler toutes les modifications en même temps, vous pouvez utiliser la commande suivante :
git reset HEAD~1 –hard
Cela annulera le commit le plus récent et annulera toutes les modifications.
Si vous avez poussé le mauvais commit vers l'entrepôt distant, vous devez alors suivre les étapes suivantes pour annuler le commit.
Pour annuler un commit qui a été poussé vers le référentiel distant, utilisez la commande suivante :
git revert <commit>
Cette commande créera un nouveau commit qui remplacera le spécifié. le commit (< commit>) est annulé et un nouveau commit est conservé dans l'historique pour indiquer que la modification a été annulée.
Veuillez noter que cette commande est irréversible car elle enregistre les modifications dans le cadre de l'historique. Par conséquent, utilisez cette commande avec prudence et assurez-vous de spécifier exactement les validations que vous souhaitez annuler.
L'image ci-dessus montre les résultats de l'utilisation de la commande git revert.
Si vous ne souhaitez pas supprimer complètement les modifications annulées de la base de code et souhaitez conserver l'historique de cette modification, vous pouvez utiliser le commande suivante :
git revert -n <commit>
Cette commande créera un nouveau commit pour indiquer que la modification a été annulée. Cependant, il n'apporte aucune modification au fichier, vous pouvez donc modifier le fichier avant de pointer vers la validation que vous souhaitez annuler.
git commit -c ORIG_HEAD
Cette commande crée un nouveau commit qui contient toutes les modifications annulées et toutes les autres modifications. Ce nouveau commit fait partie de l’historique que vous souhaitez préserver.
Si vous n'aimez pas vos informations de soumission ou si les informations que vous avez soumises sont incomplètes, vous pouvez utiliser la commande suivante pour modifier les informations de soumission :
git commit --amend
Cette commande modifiez vos informations de soumission. Mettez-les dans un éditeur afin de pouvoir les modifier.
Par défaut, cette commande utilise votre éditeur de texte configuré. Si vous souhaitez modifier l'éditeur par défaut, veuillez définir la variable d'environnement de la manière suivante :
export EDITOR="nano"
Après avoir exécuté la commande ci-dessus, vous pourrez modifier les informations de validation dans l'éditeur nano.
Lorsque vous avez terminé de modifier votre soumission, enregistrez et quittez l'éditeur. Cela mettra à jour les dernières informations de validation.
Annuler les commits dans Git est une astuce utile qui peut vous aider à corriger les bugs sans détruire l'historique de votre base de code. Que vous débutiez avec Git ou que vous soyez un développeur expérimenté, vous devriez maintenant savoir comment annuler facilement un commit.
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!