Git (TortoiseGit) - comment faire pour revenir à une révision précédente un fichier unique, puis annuler le retour?

lors de L'utilisation de Git avec TortoiseGit: quelqu'un sait-il comment revenir à une révision précédente d'un fichier(ou d'un dépôt complet)?

par exemple, j'ai un dépôt contenant plusieurs fichiers. Un fichier existe en trois versions (1 ; 2 ; 3). Maintenant, je veux changer de révision 3 à 2.

TortoiseGit offre une fonction "Revert" dans la boîte de dialogue "Show log" qui permet de revenir à une révision spécifique, mais cela va revenir à votre dépôt entier au lieu d'un seul fichier.

aussi une fois que j'ai inversé quelque chose, je n'ai pas la moindre idée de comment défaire le retour et revenir à la dernière révision.

27
demandé sur Yue Lin Ho 2009-11-03 23:23:12

5 réponses

dans TortoiseGit la réponse est de droit-cliquez le dossier du projet et cliquez sur Afficher journal, puis droit-cliquez sur le changement que vous voulez retourner à et cliquez sur Switch/Checkout à ce... . Il vous permettra ensuite de procéder à partir de cet endroit étrange dans la pile de propagation, ou branche dans le cas où vous projetez de commettre et que vous voulez que les choses restent saines d'esprit.

18
répondu Chris Moschini 2013-02-20 11:13:20

de la ligne de commande: git checkout c'est probablement ce que tu veux.

la documentation montre un exemple de:

$ git checkout master~2 Makefile

revenir Makefile à deux révisions de retour dans la branche master

de L'intérieur de TortoiseGit (via Windows Explorer) il semble que vous pouvez le faire avec les étapes suivantes:

  • naviguer dans l'Explorateur dans le dossier où le fichier est.
  • faites un clic droit sur le fichier que vous souhaitez restaurer, choisissez Show log dans le menu contextuel TortoiseGit
  • dans la section supérieure ("graph") sélectionnez la révision qui contient la version du fichier à laquelle vous souhaitez revenir en
  • dans la troisième section (Liste des fichiers) faites un clic droit sur le fichier et choisissez Revert to this revision
  • vous devriez obtenir un message comme 1 files revert to e19a77
  • 13
    répondu mlibby 2009-11-04 21:53:09

    Il est également possible d'obtenir un fichier spécifique:

    • clic droit sur le fichier
    • choisissez l'élément de menu: git Show Log

    TortoiseGit afficher un dialogue avec une liste de toutes les révisions

    • Cliquez sur l'état de la révision (2)

    dans une liste en bas de la boîte de dialogue, il affiche tous les fichiers associés à la propagation

    • trouver le fichier que vous recherchez ""
    • faites un clic droit sur ce fichier et sauvegardez la révision sur
    • cela sauvegardera la révision précédente du fichier avec le numéro de propagation concaténé sur le fichier

    par exemple: - le fichier d'origine du fichier.txt - la révision 2 enregistrera le fichier-67b51a8.txt

    J'utilise TortoiseGit v2.2.0.0

    6
    répondu mxmoss 2016-08-19 20:55:46

    mis à jour ma réponse, sur la base de ces commentaires:


    supposons que l'arbre de travail est propre et que vous voulez:

    1. Checkout certains fichier(s) de sa précédente révision
    2. test
    3. revenir à la révision actuelle

    1. consultez quelques fichiers de sa révision précédente

      (a) faites un clic droit sur le fichier que vous voulez restaurer et affichez le Log pour ce fichier

      enter image description here

      (b) faites un clic droit sur le fichier dans la liste des fichiers et exécutez revenir à révision parent

      enter image description here

      enter image description here

      (c) répétez les étapes (a), (b) jusqu'à ce que vous obtenez tous les fichiers que vous souhaitez.

      enter image description here

    2. Test

    3. revenir à la révision actuelle

      (a) effectuer des Revenir... dans le menu contextuel de l'explorateur

      de Cette façon, vous pouvez choisir le ou les fichier(s) que vous voulez revenir.

      (b) ou de la présente méthode rapide: effectuer Hard Reset dans la boîte de dialogue du Journal

      de cette façon, tous les fichiers changés reviennent en arrière. (=> Perdu tout travail dir changements)

      enter image description here

      enter image description here

    (testé sur TortoiseGit 1.8.16.1, GfW 2.6.4.Windows.1, Gagner 10 64bit)

    5
    répondu Yue Lin Ho 2017-05-23 11:54:07

    Pour Tortue Version 2.3.0:

    vous pouvez le faire de plusieurs façons, mais le plus rapide je pense est que:

    1. clic droit sur le fichier
    2. cliquez sur l'option de menu "Diff avec la version précédente"
    3. clic droit sur la version gauche (précédente) du fichier
    4. cliquez sur l'option de menu "utilisez ce fichier entier"
    5. enregistrer les modifications (ctrl+s)
    1
    répondu Ovsyanka 2017-01-30 01:20:17