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?

Gordon Wilson
la source
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.

TodK
la source
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.

Abie
la source
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.

marque
la source
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.

marque
la source
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.

Daniel Hill
la source
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.

Chris Hanson
la source
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 ...

Chris Stewart
la source
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.

Jasper Bekkers
la source
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.

jschank
la source
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

Robert Conn
la source
1

Vous pouvez utiliser Xcode avec les dépôts Git. Visual Studio Team Services propose des dépôts Git gratuits, privés et illimités dans le cloud. Vous pouvez non seulement utiliser Xcode, mais également Eclipse, Visual Studio, la propre interface de navigateur Web de Team Services ou tout autre éditeur / IDE de votre choix. Partagez également le code avec les 5 premiers utilisateurs gratuitement.

Vidéo YouTube: https://youtu.be/S83kn0i4WYs

Ventilateur Esther - MSFT
la source
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

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

Je me demande si un wrapper peut être fait en utilisant les fonctionnalités de script Xcode? vérifier: http://www.cimgf.com/category/version-control/git/

BTW, si Xcode ne peut pas faire le travail, eclipse peut faire le travail mais il peut manquer Cocoa api etc ...

RzR
la source