Git peut-il être intégré à Xcode?


121

Existe-t-il un moyen d'utiliser un référentiel git avec les fonctions SCM intégrées de Xcode?


Peut-être sera-t-il bientôt officiel, espérons-le ?: twitter.com/pjhyett/status/15685549082
gef

16
Xcode 4 est en version bêta (pas encore de téléchargement ouvert) et prend en charge Git.
Kendall Hopkins

3
@Kendall: Bien que Xcode 4 Developer Preview ne soit toujours pas un téléchargement général, il est désormais disponible pour tous les comptes de développeur payants.
Matt B.

2
Puisque Xcode4 GM est déjà sorti, ce fil de discussion devrait être mis à jour ...
nacho4d

1
Pour mémoire: XCode 4 est maintenant disponible et gratuit pour les utilisateurs d'OSX Lion
ErJab

Réponses:


74

Xcode 4 prend en charge git nativement (adresse de l'état de l'Union des outils de développement à la WWDC 2010)

En savoir plus ici: Quoi de neuf dans Xcode 4
La documentation d'Apple est longue, mais bonne lecture.


3
C'est génial à entendre. Un mot sur le support Mercurial (hg)?
Dave

1
cela n'apparaît pas ainsi ... pas de mot sur un système de plugin.
TodK

4
: D Cela a fait ma journée! Je ne peux pas attendre.
Vortico

OMGEEZ! Je n'avais aucune idée ... Cela me rend très heureux ... un mot sur la date de sortie?
tybro0103

Doc link is broken
anki

73

REMARQUE: malgré tous les votes positifs, cette réponse n'est plus à jour en juin 2010


Il n'y a pas de support git dans Xcode, mais ce n'est pas une raison de ne pas utiliser git pour vos projets Xcode. J'ai eu de bons résultats en gérant mes projets Xcode en utilisant la ligne de commande standard git ou GitX .

Shane Vitarana a un bel ensemble de .gitignore paramètres à utiliser comme point de départ.


L'ajout de ces deux à mon .gitignore provoque une construction xcode cassée pour les clones.
jkyle

39

Une bonne façon d '"intégrer" git avec Xcode est d'utiliser DTerm . Vous affichez DTerm dans une fenêtre flottante avec une combinaison de touches. DTerm connaît le chemin complet du document actuel dans l'éditeur.

Par exemple, pour exécuter un diff sur le fichier que vous éditez:

1) Appuyez sur Ctrl-Retour pour afficher la fenêtre DTerm. (Cette combinaison de touches est configurable).

2) tapez 'git diff cmd-shift-V'. Cela écrasera la dernière commande lorsque vous commencerez à taper et insérerez le nom du fichier actuel dans la fenêtre. Puisque votre répertoire de travail est défini sur le répertoire parent du fichier sélectionné, la commande est simple et courte.

Je n'ai aucun lien avec Decimus. Je ne suis qu'un utilisateur satisfait qui a exécuté des milliers de commandes via DTerm.

Edit : Depuis le 27 août 2009, DTerm est gratuit. Si vous avez acheté votre copie de DTerm, la mise à niveau vers la version suivante est gratuite, quel que soit le moment où vous avez acheté DTerm. Voir leur article de blog

Edit 2 : DTerm est maintenant disponible sur le Mac App Store. Il sera intéressant de voir s'ils ont tenu la promesse qu'ils avaient faite dans leur article de blog.


8
Mark - tu n'as aucune idée à quel point tu m'as rendu heureux. Je ne peux pas croire que j'ai vécu sans DTerm tout ce temps!
Mark Aufflick

Je suis tombé sur une petite chose: c'est cmd-shift-V plutôt que ctrl-shift-V.
Courtney Faulkner

Dterm est absolument incroyable !!! - quand ça marche. C'est très bogué avec leur dernière version et la dernière version 10.6.6. Je tuerais pour que cela fonctionne correctement!
Yuji 'Tomita' Tomita

Essayez de supprimer le fichier de préférences. Je n'ai eu aucun problème avec ça. Je l'utilise depuis longtemps. Votre connexion utilise-t-elle l'anglais comme langue et saisie de caractères?
Mark

15

En plus des paramètres .gitignore référencés dans l'article ci-dessus, j'ai ajouté les fichiers générés à mon fichier de configuration.

build /
* .pyc
* ~ .nib /
* .pbxuser
* .perspective
* .perspectivev3
* .xcworkspace /
xcuserdata /

Cela aide à garder le bruit hors de mon dépôt.

Si j'ai besoin d'ajouter des fichiers générés, j'ajoute un dossier Release et je garde les dossiers * .framework et * .app dans mon répertoire de projet. J'ajoute tout ce que je publie au groupe de test dans le dossier Release et je le marque.


10

Non, il n'y en a pas, et pour être honnête, je suis plutôt reconnaissant, car le support SVN dans Xcode me semblait vraiment floconneux. Après avoir déménagé sur Git pour mes projets personnels, j'ai juste une fenêtre Terminal ouverte que je peux déclencher git addet git commitau besoin.


4

Xcode n'a pas d'API de plug-in publique, donc non, il n'y a aucun moyen d'ajouter directement la prise en charge de git à Xcode.

Vous pouvez cependant créer des scripts pour le menu de script de Xcode qui peuvent effectuer diverses opérations git.


3

Je ne pense pas qu'il existe un moyen de fournir un support de plug-in pour Xcode. Donc, jusqu'à ce qu'Apple se réchauffe à git, nous serons coincés avec des outils tiers et la ligne de commande. Non pas que ce soit une mauvaise chose ...


3

Eh bien, il y a cette chose appelée git-cvsserver qui permet à git de prétendre que c'est CVS. Mais je ne connais pas l'état des choses à ce sujet, ni le support CVS dans Xcode.


3

La dernière version bêta de Xcode 4 a une intégration git, cependant, elle ne l'installe pas par défaut, ni n'utilise votre git actuellement installé.

Ce que j'avais à faire était d'installer l'option "Outils système" dans le programme d'installation Xcode. (Ce qui est ignoré par défaut) après cela, l'organisateur a reconnu que mon projet était déjà sous contrôle git et s'est intégré en douceur.


2

Avec Xcode 4, si vous souhaitez utiliser votre propre version de Git, vous pouvez créer un lien symbolique depuis / usr / bin / git vers l'endroit où vous avez installé votre binaire Git




0

J'utilise de toute façon des éditeurs externes. Beaucoup d'entre eux prennent en charge les commandes git. De cette façon, git est "intégré" dans Xcode


1
pouvez-vous donner un exemple d'éditeurs externes avec intégration git sur mac?
zakishaheen

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.