web-dev-qa-db-fra.com

Comment restaurer la version précédente du code dans Xcode

Je travaille sur un projet Objective C dans Xcode et je dois restaurer une version précédente validée dans le contrôle de code source. Comment je fais ça? Je peux trouver des informations sur la façon de commettre et Push, mais aucune information sur la façon de restaurer une ancienne version.

15
Victor Engel

Vous ne pouvez pas annuler le projet entier en une fois dans Xcode, mais vous pouvez le faire depuis le terminal. cd dans le dossier de votre projet et tapez git log pour trouver le hachage que vous recherchez, puis lancez git checkout [ hash ].

25
mlstudent

Citation tirée de la documentation Apple à l’adresse https://developer.Apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/Save_and_Revert_Changes_to_Files/ManageChanges.html

"Comparaison des versions de fichier avec des lignes de code inversées Choisissez Affichage> Editeur de version> Afficher la vue de comparaison pour comparer les versions de fichiers enregistrés dans un référentiel. Utilisez les barres de saut pour choisir les versions de fichier en fonction de leur position dans un référentiel. La barre de saut contrôle la sélection du volet de contenu situé au-dessus. Pour afficher une version, parcourez la hiérarchie, puis sélectionnez-la. Les zones ombrées indiquent les modifications entre les versions. "" Vous pouvez utiliser la version. Timeline pour choisir les versions de fichier en fonction de leur ordre chronologique.Cliquez sur l'icône du visualiseur de la timeline (../art/TimeLineIcon_2x.png) dans la colonne centrale pour afficher la timeline entre les deux volets d'édition. Déplacez le pointeur vers le haut ou le bas de la timeline pour parcourir les versions disponibles Lorsque vous avez trouvé la version souhaitée, cliquez sur le triangle indicateur gauche ou droit pour afficher cette version dans le panneau d'édition correspondant. Vous pouvez modifier la copie de travail actuelle du fichier dans l'éditeur de version. Si tu veux t o annuler les modifications entre les versions, vous pouvez copier le code d’une version antérieure et le coller dans la version actuelle. "

La dernière ligne révèle la clé: copier-coller.

12
Hackless

Dans Xcode 9, vous pouvez extraire n'importe quelle version précédente.

  1. Cliquez sur l'icône de contrôle de code source dans la section de navigation de gauche ou sélectionnez Affichage-> navigateurs-> Afficher le navigateur de contrôle de source.
  2. Une liste de tous les commits pour la branche sélectionnée sera affichée.
  3. Faites un clic droit sur le commit désiré et sélectionnez 'Checkout "commitID"'

Vous pouvez également créer directement une branche à partir de là, ce qui pourrait être encore plus utile dans certains cas.

6
Andy

voici une méthode visuelle dans Xcode 8

 enter image description here

3
Milad Masoodi

Si vous souhaitez obtenir un extrait de projet complet de toute version validée dans un dossier distinct, essayez ce script Shell:

#!/bin/sh
#
#  restores an old version of xcodeproject from git repository
#  into folder  $HOME/gitcopy
#  current directory must be the rootdir of the project
#  Xcode should not access the same project at this time
#
set -x
PROJECT_ROOT=.
COPY_DEST=$HOME/gitcopy
if [ -e *.xcodeproj ]
then
    git log
    echo "Which version ?"
    read x
    git checkout $x
    git checkout -b copyVersion
    cp -R $PROJECT_ROOT $COPY_DEST
    git stash
    git checkout master;
else
    echo "No xcode project root folder";
fi 
2
Christian Krueger

Je travaille sur le projet Xcode 9.2 qui comporte plusieurs dépendances et des fichiers supplémentaires qui ont été incorporés. Au cours du nettoyage, j’ai par inadvertance mis au rebut le projet et je ne savais pas quoi faire pour le faire fonctionner avant d’avoir trouvé cette solution. Je suis allé au contrôle de source dans la barre de menu supérieure et jeté d’abord toutes les modifications. Ensuite, je suis allé dans le gestionnaire de contrôle de code source (deuxième en partant de la gauche, juste à droite du navigateur de projet et j'ai mis en évidence le commit que je voulais, puis j'ai cliqué avec le bouton droit de la souris et choisi l’option Checkout qui avait déjà entré le numéro du commit que je voulais et qui fonctionnait parfaitement . Étape 1 - Annulez toutes les modifications Étape 2 - Sélectionnez l’engagement auquel vous souhaitez revenir. Étape 3 - Faites un clic droit et sélectionnez Commander

0
user8851874