Utiliser Git avec un projet Xcode existant

113

J'essaie de comprendre comment utiliser git dans le flux de travail de mon projet et j'ai un projet Xcode existant que je veux mettre dans le référentiel. Je pense que le référentiel est correctement configuré sous l'organisateur, mais le menu Contrôle de la source est grisé.
Apparemment, c'est facile à faire si vous démarrez un nouveau projet, mais comment importer un projet existant avec des instantanés et tout?

J'utilise Xcode 4 et git 1.7.4

De plus, s'il y a de bonnes procédures pas à pas sur la configuration git et les meilleures pratiques, ce serait bien. Je suis un peu en retard au match, donc tout ce qui peut me mettre à niveau serait cool.

AndyD273
la source

Réponses:

169

GitHub propose de très bons tutoriels git sur help.github.com .

pour effectuer la configuration initiale d'un référentiel, ouvrez une fenêtre de terminal et un CD dans le répertoire du projet. une fois là-bas, tapez

git init
git add .
git commit -m "Initial commit"

Redémarrez Xcode. Le référentiel devrait maintenant être configuré et vous pourrez le gérer dans xcode 4.

MCannon
la source
4
Où est le peu d'ajouter un fichier .gitignore pour éviter d'ajouter tous les répertoires de construction et autres conneries en tant que fichiers suivis ???
Fraggle
7
Cette méthode ajouterait .xcuserstate et d'autres métadonnées au dépôt, qui ne devraient pas être contrôlées par version. Je vous suggère de créer d'abord .gitignore dans votre dossier de projet et de lister ces types de fichiers de métadonnées avant d'exécuter "git add.".
kakyo
Cela n'a pas du tout fonctionné pour moi. Xcode ne le reconnaît jamais comme un dépôt.
Jonny
J'utilise Xcode 11. J'ai pu ajouter un référentiel git local à un projet existant simplement en faisant Source Control, Commit puis en faisant mon premier commit. Cela a créé le dossier .git, etc. (Pas besoin de git init, git add .et git commit -m.)
Jeff
103

Xcode 7 (et 8)

Si vous démarrez un nouveau projet, vous devez simplement cocher Créer un référentiel Git lors de l'installation. (Ensuite, passez à la partie Commit ci-dessous.)

entrez la description de l'image ici

Mais si vous travaillez avec un projet existant, allez dans Xcode > Préférences ... > Contrôle de la source et cochez la case Activer le contrôle de la source .

entrez la description de l'image ici

Puis , dans la principale commande Source menu , choisissez Créer copie de travail ... .

entrez la description de l'image ici

(Si vous obtenez une erreur "Veuillez me dire qui vous êtes", vous verrez cette question / réponse ou l'une des autres questions liées.)

Lorsque cela est terminé, apportez des modifications à l'un de vos fichiers de projet Xcode. Revenez ensuite au menu Contrôle de la source et choisissez Valider .

entrez la description de l'image ici

Et écrivez un message de validation et cliquez sur le bouton Valider . (Si le bouton de validation est désactivé, apportez une modification mineure à votre projet et réessayez.)

entrez la description de l'image ici

Dans Github, connectez-vous et créez un nouveau référentiel .

entrez la description de l'image ici

Appelez-le comme vous voulez, mais n'ajoutez pas encore de README, de .gitignore ou de licence. Vous pouvez ajouter ces éléments plus tard. Le faire maintenant rendra la synchronisation plus difficile.

entrez la description de l'image ici

Copiez le lien vers votre référentiel.

entrez la description de l'image ici

Allez dans Contrôle de la source > votre nom de branche > Configurer .

entrez la description de l'image ici

Cliquez sur le Distants onglet> « + bouton »> Ajouter à distance ... .

entrez la description de l'image ici

Entrez le nom du référentiel github et collez l'adresse.

entrez la description de l'image ici

Après avoir ajouté la télécommande, cliquez sur Push dans le menu Source Control . Entrez votre nom d'utilisateur et votre mot de passe github. C'est tout. Votre projet doit être copié sur github maintenant.

(J'ai eu du mal à faire accepter mon nom d'utilisateur et mon mot de passe au début. Si cela vous arrive, allez dans Xcode > Préférences ... > Comptes > votre nouveau référentiel . Entrez votre nom d'utilisateur et votre mot de passe, puis essayez le Push à nouveau.)

entrez la description de l'image ici

Vous pouvez ajouter un README et d'autres fichiers, mais si vous le faites depuis le Web, vous devrez faire le contrôle de la source > Extraire Xcode avant de valider d'autres modifications.

Désormais, chaque fois que vous apportez des modifications dans Xcode, il ne vous reste plus qu'à valider et pousser .

J'ai appris cette méthode principalement de ici .

Voir également

Suragch
la source
c'est de loin la solution la plus simple. pouvez-vous me dire ce que cela signifie lorsque vous ajoutez un dépôt dans xcode> préférences> comptes> ajouter un dépôt?
AceN
@AceNeerav, cela vous permet de stocker vos informations d'identification pour un autre dépôt que vous avez afin que vous n'ayez pas à les saisir à chaque fois. Consultez cette documentation pour plus de détails.
Suragch
Excellente solution. CONSEIL: Bitbucket est une alternative gratuite à github pour les petits projets. Vous payez une fois que le projet prend de l'ampleur.
steve-o
1
@ steve-o, GitLab est également une bonne alternative. Il permet des référentiels privés gratuitement. J'ai pu configurer Xcode pour l'utiliser de la même manière que ma réponse ci-dessus.
Suragch
merci en suivant la réponse à l'url, je suis capable de le faire moi-même merci encore une fois
Dilip Tiwari
44

Je viens de passer par le processus de faire cela pour plusieurs projets et j'ai rencontré des problèmes. Voici mon processus, principalement reconstitué à partir des autres réponses sur cette page / site. L'ordre est très important ici

  1. Ouvrez le terminal et le cd dans le répertoire contenant le fichier .xcodeproj
  2. git init
  3. Dans Finder, entrez le dossier .git nouvellement créé (dans le même répertoire que le fichier .xcodeproj). Trouvez info / exclure, ouvrez et ajoutez ces lignes, .DS_Store et xcuserdata /
  4. Je ne sais pas si cela est nécessaire, mais j'ai utilisé le terminal pour cp info / exclude dans un fichier .gitignore
  5. git add.
  6. git commit -m "Commit initial"
  7. Maintenant, pour obtenir XCode pour voir réellement le dépôt. Dans l'organiseur de projet, vous devez d'abord supprimer le projet de l'onglet Projets. Ensuite, rouvrez simplement le projet pour le récupérer. Cela détectera le référentiel GIT qui vient d'être créé
  8. Dans l'onglet référentiels de l'organisateur, je branche ensuite la branche principale / le commutateur vers la version sur laquelle je travaille.

Espérons que cela aide quelqu'un sans être trop redondant. Ce qui semble maintenant simple était définitivement un défi pour quelqu'un de nouveau dans GIT avec des projets existants

nucléairenova
la source
2
Merci d'avoir partagé votre expérience! Le pas à pas est génial.
AndyD273
Super étape par étape, très utile pour quelqu'un comme moi qui n'est pas encore à l'aise avec git.
Nicolas Miari
1
Pour moi, avec 4.6.2, l'étape 7 n'était pas nécessaire. Merci!
cloudsurfin
Je ne peux pas expliquer à quel point cela a été utile! l'étape 7 a aidé même avec le dernier Xcode!
Zephyer
Comme je l'ai appris en suivant les étapes ci-dessus et quelques autres articles et expérience svn. Vous pouvez créer un fichier .gitignore pour Xcode. Liste si les éléments à ignorer peuvent être trouvés sur GitHub github.com/github/gitignore/blob/master/Global/Xcode.gitignore
Bhavesh
10

Consultez mon article sur ce sujet Configurer un référentiel git dans XCode pour un projet préexistant . Ce qui précède est correct, mais il inclura UserInterfaceState dans vos modifications lorsque vous vous engagez et cela pourrait être ennuyeux car ce fichier se met à jour chaque fois que vous faites quoi que ce soit dans xcode, même si c'est aussi simple et que vous naviguez dans les fichiers ou les dossiers de votre projet.

Joey
la source
1

si votre XCODE 7 ne se connecte pas au référentiel GIT existant. Essayez de suivre

xcrun git config --global user.email your@email.com
xcrun git config --global user.name "your name"
Ram G.
la source
0

Note:Specially for Xcode 11

CD vers le répertoire du projet à l'aide du terminal

git init

git add.

git commit -m "Commit initial"

Après cela, redémarrez le Xcode et choisissez Source Control Navigator, puis sélectionnez le maître et faites un clic droit puis choisissez l'option "Create Remote"

Vikram Sinha
la source