web-dev-qa-db-fra.com

Quelle est la signification de l'annulation de cette validation et de l'annulation de cette validation dans GitHub pour Windows?

Github pour Windows propose ces deux commandes décrites comme suit:

  1. revert this commit - crée un nouveau commit qui annule les modifications de ce commit
  2. rollback this commit - annulez cette validation en laissant toutes les modifications apportées à cette validation et à celles ultérieures dans votre répertoire de travail

Pourriez-vous expliquer la signification exacte de ces deux commandes et comment elles peuvent être utilisées. Plus précisément, je ne comprends pas quel est le but du second. Ça n'a aucun sens.

Est-il possible de revenir à un commit précédent, vérifiez-le et si je ne l'aime pas, revenez à l'endroit où il était initialement?

Cette interface semble ne comporter qu'une très petite partie du système git, mais quel serait un flux de travail approprié l'utilisant?

44
Zingam

Supposons que vous ayez un seul fichier dans votre référentiel et que vous ayez les commits suivants:

commit 1 : the file contains A
commit 2 : the file contains B
commit 3 : the file contains C

Si vous exécutez la restauration sur commit 3, vous l'aurez dans le repo:

commit 1 : the file contains A
commit 2 : the file contains B
commit 3 : the file contains C
commit 4 : the file contains B

Et le fichier dans votre copie de travail contiendra également B.

Si vous exécutez la restauration, vous l'aurez dans le dépôt:

commit 1 : the file contains A
commit 2 : the file contains B

Et le fichier de votre copie de travail ne sera pas modifié. Le fichier contiendra donc C. Il vous permet de corriger une petite erreur et de recommencer, par exemple.

54
JB Nizet

Est-il possible de revenir à un commit précédent, vérifiez-le et si je ne l'aime pas, revenez à l'endroit où il était initialement?

C'est maintenant (mars 2013), avec GitHub pour Windows, vous pouvez annuler une restauration sans avoir à taper de commande git:

Voir " Bouton Annuler dans GitHub pour Windows "

nous avons ajouté Annuler la prise en charge des rejets, des validations, des annulations et des fusions :

Undo button

12
VonC