2011-03-14 6 views
4

Hey, J'utilise maintenant Xcode 4 depuis quelques semaines. C'est génial de venir de Xcode 3 et de voir toutes les nouvelles fonctionnalités. J'aime l'intégration git. Mais j'ai l'un et l'autre problème avec cela. Le projet le plus récent que j'ai commencé avec un dépôt git local. Tout fonctionne bien et j'ai fait plusieurs engagements. Je veux obtenir une version plus ancienne de mon projet. Alors j'essaie d'utiliser Pull. Mais dès que je clique sur ce bouton, je reçois le message suivant:Intégration Xcode 4 git

The operation could not be performed because access to the repository "/Users/***/Desktop/TestClone" was denied. 

Check your name and password and try again. 

Le problème est, je ne définissaient pas nulle part un nom et un mot de passe. Comment puis-je obtenir une copie d'un état dans mon projet? Le bouton de paiement est toujours grisé, donc je ne peux pas cliquer sur celui-ci.

Toute aide serait appréciée. :-D

Répondre

14

Vous ne devriez pas utiliser la commande 'pull ...' pour "retourner à" (extraction) une ancienne version de votre code.

Les commandes 'pull' et 'push' sont utilisées pour synchroniser votre référentiel local avec un référentiel distant "origin". Cette fonctionnalité est normalement utilisée lorsque vous «clonez» un référentiel distant original afin de coordonner vos modifications avec d'autres programmeurs.

Si vous avez créé votre projet à partir de zéro, vous ne disposerez d'aucun référentiel distant vers lequel envoyer ou tirer. Pour revenir à la question d'origine, autant que je sache, Xcode 4 ne vous permettra pas de vérifier les anciennes validations dans l'interface utilisateur, sauf si vous avez créé une nouvelle branche pour ce commit. Néanmoins, vous pouvez le faire à partir de la ligne de commande. Pour cela, utilisez la commande suivante à partir de votre dossier de projet

$ git log --format=oneline 

pour obtenir le code de hachage de vous engager voulez aller, puis utilisez:

$ git checkout desired-hash-code 

à la caisse cette version particulière. Une fois là, vous pouvez effectuer des tests, des modifications et éventuellement créer une nouvelle branche. Si vous faites un commit sans créer une nouvelle branche, vous perdrez les nouveaux commit dans votre branche actuelle. Si vous voulez revenir à la nouvelle livraison après avoir effectué des tests sur votre utilisation plus version:

$ git checkout master 

note encore que cela ne fonctionnera pas si vous faites un commit de votre ancienne version de code sans créer nouvelle branche, car les nouvelles validations dans la branche courante sont supprimées.

Si vous êtes nouveau à Git, je lis un de ces documents:

Je voudrais aussi souligner ces deux:

Cheers.

+5

Par ailleurs, vous pouvez utiliser toutes les commandes git sans fermer votre projet dans Xcode 4, car il sera heureux de recharger les fichiers modifiés. –

+0

Merci beaucoup pour l'explication. Cela m'a vraiment aidé. Je vais l'essayer. Et oui je suis nouveau à git. J'ai utilisé des subversions une fois avant ... Je vais lire ces documents. :-D –

+0

bien que ce commentaire ne soit pas sorti ... essayez à nouveau. voici une liste que j'ai dû parcourir pour obtenir mon ancien commit: cd /Users/yourName/Desktop/yourApp/.git puis puisque je ne pouvais trouver git dans les anciens dossiers de développeurs/Developer \ 4.1/usr/bin/git log - -format = oneline maintenant vous voyez le hash ... alors/Developer \ 4.1/usr/bin/git reset 505bd4eb95ddedaf0a165b706d8ec556fc728574 (ou quoi que soit votre hash) – hokkuk

0

Je pense que le problème est que vous mettez à jour le fichier projet avec le projet ouvert. Vous devrez peut-être fermer le projet ou quitter Xcode pour extraire une ancienne version du projet en utilisant la ligne de commande ou DTerm, et non depuis Xcode.

+0

Merci pour votre réponse. Je n'ai pas vraiment l'habitude de git. C'est mon premier essai pour l'utiliser. Pourriez-vous me dire comment vérifier un projet avec la ligne de commande? Ce serait génial. :-D –

1

Si vous avez déjà créé des branches, vous pouvez revenir à un point de branche à l'aide de l'onglet Référentiels de l'organiseur dans Xcode. Voici comment:

  1. De Xcode, ouvrez l'organisateur en allant à la fenêtre menu-> Organisateur, ou en appuyant sur le raccourci clavier, Maj + Cmd + 2
  2. Cliquez Repositories voir sur la barre d'outils
  3. Dans le volet de navigation de droite, cliquez sur le répertoire de travail (il aura une icône de dossier bleu) pour le projet approprié
  4. En bas à gauche de la fenêtre de l'organiseur, cliquez sur le bouton Changer de branche.
  5. Une fenêtre apparaîtra vous permettant de sélectionner la branche à utiliser; sélectionnez la branche souhaitée, cliquez sur OK, et Xcode synchronisera tous les fichiers vers cette branche.

Aussi, voir https://developer.apple.com/library/mac/#recipes/xcode_help-repositories_organizer/articles/SwitchingBranches.html un guide vidéo