Annuaire d'articles
La différence entre Annuler la validation, Revenir à la validation et Supprimer la validation
S'il faut supprimer les modifications du code | S'il faut supprimer l'enregistrement de validation | Un nouvel enregistrement Commit sera-t-il ajouté ? | |
---|---|---|---|
Annuler la validation | Ne le fera pas | Cela fonctionnera s’il n’a pas été poussé, mais cela ne fonctionnera pas s’il a été poussé. | Ne le fera pas |
Annuler la validation | réunion | Ne le fera pas | réunion |
Supprimer la validation | réunion | Cela fonctionnera s’il n’a pas été poussé, mais cela ne fonctionnera pas s’il a été poussé. | Ne le fera pas |
Introduction
Après avoir exécuté un commit dans une idée (sans pousser), j'ai trouvé que le code soumis était erroné et j'ai voulu le retirer. Cet article résume comment se retirer dans ce cas.
Comme indiqué ci-dessous : (commit a soumis un enregistrement de test (non poussé) et a ajouté le fichier Test.java)
2. Renvoie le commit (non poussé)
2.1. Méthode 1 : annuler la validation
Situation applicable : Le code a été modifié et validé, mais n'a pas encore été poussé. Ensuite, je trouve qu'il y a encore des endroits qui doivent être modifiés et je ne souhaite pas soumettre cet enregistrement. À ce stade, vous pouvez annuler la validation, puis la valider à nouveau après la modification.
Si Push a été effectué, l’enregistrement de validation en ligne existera toujours.
Pour faire simple, il s’agit d’annuler votre action Commit. Expliquer en détail:
1. Tout d'abord, le code du projet est modifié, puis l'opération de validation est effectuée.
2. Après avoir confirmé la validation (aucun push n'est effectué)
3. Effectuez l'opération Annuler la validation
. Cliquez avec le bouton droit sur l'enregistrement à révoquer et sélectionnez Annuler la validation.
Après l'exécution, c'est exactement la même chose qu'avant la validation, et l'enregistrement de validation a disparu.
2.2. Méthode 2 : réinitialiser la branche actuelle à ici
Situation applicable : engagé mais pas poussé
Cliquez avec le bouton droit sur le dernier enregistrement de l'enregistrement d'erreur, puis sélectionnez Réinitialiser la branche actuelle ici.
Après avoir sélectionné Mixte pour annuler, l'enregistrement de validation sera supprimé et les fichiers soumis seront entrés dans le répertoire des fichiers non versionnés.
- Soft : revenez à la version spécifiée et conservez toutes les modifications, qui seront soumises à nouveau. En utilisant ce mode, vous pouvez annuler les modifications qui ont été validées, puis les soumettre à nouveau.
- Mixte : revenez à la version spécifiée et conservez toutes les modifications, mais les modifications ne seront pas soumises à nouveau (les fichiers sont placés dans les fichiers non versionnés). En utilisant ce mode, vous pouvez annuler les modifications déjà validées et les conserver pour des modifications et des validations ultérieures.
- Difficile : revenez à la version spécifiée et supprimez toutes les modifications après la version spécifiée. En utilisant ce mode, vous pouvez annuler complètement toutes les modifications après une version spécifiée.
- Conserver : revenir à la version spécifiée, mais conserver les modifications après la version spécifiée. En utilisant ce mode, vous pouvez annuler les modifications apportées après une version spécifiée et conserver ces modifications pour les révisions et les validations ultérieures.
keep和hard撤销后会把文件也删除掉,强烈建议不要使用或者慎用
3. Retourner la poussée
3.1. Méthode 1 : réinitialiser HEAD
Remarque : Ce retour renverra au numéro de version que vous avez spécifié, que vous ayez validé sans pousser ou que la validation ait été poussée.
Étape 1. Idea trouve la liste des enregistrements de validation du projet :
cliquez avec le bouton droit sur le nom du projet - Git-Show History ou Version Control sous l'idée pour ouvrir les informations d'enregistrement des commits historiques.
Étape 2. Sélectionnez le numéro de version qui doit être roulé retour à :
Par exemple, mon dernier code est que Test2 doit revenir à la version soumise par Test1 la dernière fois
Sélectionnez l'enregistrement correspondant à la soumission et faites un clic droit - Copier le numéro de révision ; Copiez le numéro de validation.
Étape 3. Revenez à la version correspondante
. Cliquez avec le bouton droit sur le nom du projet - Git - Référentiel - Réinitialiser HEAD.
Étape 4. Entrez le numéro de validation qui doit être annulé.
Sélectionnez le type de réinitialisation dans la boîte contextuelle de la première étape - le numéro de validation copié lors de la deuxième étape - Réinitialiser
Ce type de réinitialisation propose trois options, choisissez les paramètres facultatifs selon vos propres souhaits :
Comprenez d'abord :
espace de travail - zone de préparation - entrepôt local
L'écriture et la modification du code se font dans l'espace de travail - git add ajoute des modifications locales à la zone de préparation - git commit soumet le contenu de la zone de préparation à l'entrepôt local
- mixte
ne supprime pas l'espace de travail, ne modifie pas le code撤销commit
et撤销git add .
n'opère pas, retourne à l'espace de travail - Soft
ne supprime pas l'espace de travail pour modifier le code,撤销commit
et不撤销git add .
l'opération est
annulée avant git commit, qui se trouve actuellement dans la zone de stockage temporaire. (C'est-à-dire après avoir exécuté la commande git add) - dur
撤销commit,撤销add,删除本地改动代码。
(三者的改变全都丢失,即代码的修改内容丢失,直接回退到某个版本;因此我们修改过的代码就没了,需要谨慎使用)
Je souhaite revenir à l'enregistrement soumis par Test1, et tout le code après Test1 est complètement inutile, j'ai donc choisi l'
étape difficile 5. Appuyez sur le code annulé
et sélectionnez Terminal sous IDEA - entrez git push -f sur la ligne de commande ; force push Accédez à l'entrepôt distant
Étape 6.Terminé.On
peut voir qu'il n'y a aucun enregistrement de soumission de Test2 dans l'enregistrement de soumission de code et qu'il a été restauré à la version Test1.
Comme vous pouvez le constater, la soumission vient d'être révoquée, mais d'autres contenus de code que j'ai modifiés localement ont également été écrasés et ont disparu. Assurez-vous donc de l'utiliser avec prudence. Si vous avez du code non soumis pour d'autres fonctions dans l'espace de travail sur cette fois, il sera simplement supprimé