Kann Git in Xcode integriert werden?


121

Gibt es eine Möglichkeit, ein Git-Repository mit den integrierten SCM-Funktionen von Xcode zu verwenden?



16
Xcode 4 ist in der Beta (noch kein offener Download) und hat Git-Unterstützung eingebaut.
Kendall Hopkins

3
@Kendall: Während die Xcode 4-Entwicklervorschau noch kein allgemeiner Download ist, steht sie jetzt allen bezahlten Entwicklerkonten zur Verfügung.
Matt B.

2
Da Xcode4 GM bereits verfügbar ist, sollte dieser Thread aktualisiert werden ...
nacho4d

1
Für die Aufzeichnung: XCode 4 ist jetzt heraus und kostenlos für Benutzer von OSX Lion
ErJab

Antworten:


74

Xcode 4 unterstützt git nativ (Developer Tools State of the Union-Adresse auf der WWDC 2010)

Erfahren Sie hier mehr: Was ist neu in Xcode 4.
Die Dokumentation von Apple ist lang, aber gut zu lesen.


3
Das ist großartig zu hören. Irgendein Wort zur Unterstützung von Mercurial (hg)?
Dave

1
es scheint nicht so ... kein Wort auf einem Plugin-System.
TodK

4
: D Das hat meinen Tag gemacht! Ich kann es kaum erwarten.
Vortico

OMGEEZ! Ich hatte keine Ahnung ... Das freut mich sehr ... irgendein Wort zum Erscheinungsdatum?
Tybro0103

Doc Link ist defekt
Ankii

73

HINWEIS: Trotz aller positiven Stimmen ist diese Antwort ab Juni 2010 veraltet


Es gibt keine Git-Unterstützung in Xcode, aber das ist kein Grund, Git nicht für Ihre Xcode-Projekte zu verwenden. Ich habe gute Ergebnisse bei der Verwaltung meiner Xcode-Projekte mit der Standard-Git-Befehlszeile oder GitX erzielt .

Shane Vitarana hat eine Reihe von .gitignore Einstellungen , die als Ausgangspunkt dienen können.


Das Hinzufügen dieser beiden zu meinem .gitignore führt zu einem fehlerhaften Xcode-Build für Klone.
jkyle

39

Eine gute Möglichkeit, Git in Xcode zu "integrieren", ist die Verwendung von DTerm . Sie rufen DTerm in einem schwebenden Fenster mit einer Tastenkombination auf. DTerm kennt den vollständigen Pfad zum aktuellen Dokument im Editor.

Zum Beispiel, um ein Diff für die Datei auszuführen, die Sie bearbeiten:

1) Drücken Sie Strg-Zurück, um das DTerm-Fenster aufzurufen. (Diese Tastenkombination ist konfigurierbar).

2) Geben Sie 'git diff cmd-shift-V' ein. Dadurch wird der letzte Befehl überschrieben, wenn Sie mit der Eingabe beginnen und den Namen der aktuellen Datei in das Fenster einfügen. Da Ihr Arbeitsverzeichnis auf das übergeordnete Verzeichnis der ausgewählten Datei eingestellt ist, ist der Befehl nett und kurz.

Ich habe überhaupt keine Verbindung zu Decimus. Ich bin nur ein zufriedener Benutzer, der Tausende von Befehlen über DTerm ausgeführt hat.

Bearbeiten : Ab dem 27. August 2009 ist DTerm kostenlos. Wenn Sie Ihre DTerm-Kopie gekauft haben, ist das Upgrade auf die nächste Version kostenlos, unabhängig davon, wann Sie DTerm gekauft haben. Siehe ihren Blog-Beitrag

Bearbeiten 2 : DTerm ist jetzt im Mac App Store verfügbar. Es wird interessant sein zu sehen, ob sie das Versprechen gehalten haben, das sie in ihrem Blog-Beitrag gemacht haben.


8
Mark - du hast keine Ahnung, wie glücklich du mich gemacht hast. Ich kann nicht glauben, dass ich die ganze Zeit ohne DTerm gelebt habe!
Mark Aufflick

Ich bin auf eine kleine Sache gestoßen: Es ist cmd-shift-V und nicht ctrl-shift-V.
Courtney Faulkner

Dterm ist absolut erstaunlich !!! - wenn es funktioniert. Es ist sehr fehlerhaft mit der neuesten Version und 10.6.6. Ich würde töten, wenn das richtig funktioniert!
Yuji 'Tomita' Tomita

Versuchen Sie, die Einstellungsdatei zu löschen. Ich hatte keine Probleme damit. Ich benutze es schon lange. Verwendet Ihr Login Englisch als Sprache und Zeicheneingabe?
Mark

15

Zusätzlich zu den .gitignore-Einstellungen, auf die im obigen Beitrag verwiesen wird, habe ich die generierten Dateien zu meiner Konfigurationsdatei hinzugefügt.

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

Dies hilft, den Lärm von meinem Depot fernzuhalten.

Wenn ich generierte Dateien hinzufügen muss, füge ich einen Release-Ordner hinzu und behalte die Ordner * .framework und * .app in meinem Projektverzeichnis. Ich füge alles, was ich der Testgruppe freigebe, zum Freigabeordner hinzu und tagge es.


10

Nein, das gibt es nicht, und um ehrlich zu sein, bin ich ziemlich dankbar, da mir die SVN-Unterstützung in Xcode sehr unzuverlässig erschien. Nachdem ich Git für meine persönlichen Projekte bewegte, ich habe nur ein Terminal - Fenster öffnen , dass ich abfeuern kann git addund je git commitnach Bedarf.


4

Xcode verfügt nicht über eine öffentliche Plug-In-API. Nein, es gibt keine Möglichkeit, Xcode direkt Unterstützung für Git hinzuzufügen.

Sie können jedoch Skripte für das Skriptmenü von Xcode erstellen, die verschiedene Git-Operationen ausführen können.


3

Ich glaube nicht, dass es eine Möglichkeit gibt, Plug-In-Unterstützung für Xcode bereitzustellen. Bis Apple sich auf Git erwärmt, bleiben wir also bei Tools von Drittanbietern und der Befehlszeile. Nicht dass das eine schlechte Sache wäre ...


3

Nun, es gibt dieses Ding namens git-cvsserver, mit dem git so tun kann, als wäre es CVS. Aber ich kenne den Stand der Dinge oder die CVS-Unterstützung in Xcode nicht.


3

Die neueste Beta-Version von Xcode 4 verfügt über eine Git-Integration. Sie wird jedoch nicht standardmäßig installiert und verwendet auch nicht Ihr aktuell installiertes Git.

Ich musste die Option "System Tools" im Xcode-Installationsprogramm installieren. (Was standardmäßig übersprungen wird) Danach erkannte der Veranstalter, dass mein Projekt bereits unter Git-Kontrolle stand, und integrierte sich reibungslos.


2

Wenn Sie mit Xcode 4 Ihre eigene Version von Git verwenden möchten, können Sie einen Symlink von / usr / bin / git zu dem Ort erstellen, an dem Sie Ihre Git-Binärdatei installiert haben




0

Ich benutze sowieso externe Editoren. Viele von ihnen unterstützen Git-Befehle. Auf diese Weise wird git in Xcode "integriert"


1
Können Sie ein Beispiel für externe Editoren mit Git-Integration auf dem Mac geben?
Zakishaheen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.