2010-11-30 2 views
5

Mit Git auf dem Mac fühlt sich an wie ein großer Schmerz, und die Git-Dokumentation ist nur huuuuuuuuge. Vielleicht hat jemand einen streng geheimen Blogartikel oder sogar Screencast zu teilen, der die Grundlagen recht einfach und schnell erklärt?Kurzanleitung, um mit Git + GitX mit Xcode-Projekten auf dem Mac zu beginnen?

  • Erstellen eines Repositorys. Große Schmerzen.

  • Öffnung, die Repository mit GitX: Schmerz.

  • in Xcode arbeiten und dann begehen Änderungen: Keine Ahnung, wahrscheinlich groß zu Schmerzen.

  • Klonen das Repository zu ein paar anderen Entwicklern mit ihren eigenen Macs, so dass sie beginnen können, am Projekt zu arbeiten: Oh Mann, mein Kopf explodiert ... brauche einen Arzt!

  • Diese geklonten Repositorys werden irgendwie wieder zusammengefügt, damit jeder ein aktuelles Repository mit den Änderungen anderer erhält: Red alert!

Im Moment habe ich das Gefühl, ich brauche einen Monat, um es zu knacken. Wäre SO froh, wenn jemand auf wirklich hilfreiche Ressourcen hinweisen könnte, die mich nicht zwingen, einige Tage zu lesen ... oder gibt es ein großartiges und dünnes Buch, das diesen Wahnsinn erklärt?

+2

Wenn Sie beschreiben, ein Repository zu erstellen und es in GitX (im Wesentlichen einzelne Befehle) als einen Schmerz zu öffnen ... Ich bin mir nicht sicher, was Sie erwarten, ein Tutorial zu beheben. – Cascabel

Antwort

4

Git ist absolut enorm, und man konnte in diesem Monat lernen, ihre Prozesse sicher verbringen, aber Sie können auf einige grundlegende Konzepte halten und mit einem wirklich großen Workflow enden. Ich benutze die Befehlszeile, da Sie sich an diese Grundlagen halten und bei Bedarf erweitern können. Diese Basisbefehle sind "pull", "push", "init", "commit -am" Nachricht "". Später können Sie über Niederlassungen und Rebasing bei gitref.org lesen.

Als git Benutzer mac Xcode +; Ich empfehle DTerm definitiv, um das Leben leichter zu machen. Ein Schlüsselbefehl öffnet ein Floating-Terminal-Fenster, CDed in das Verzeichnis der Datei, die gerade aktiv ist. In XCode bedeutet dies, dass Sie sich sofort in einem git-kontrollierten Verzeichnis befinden.

Also, mein Workflow -

  1. Use "git init" im Terminal ein Repository Anweisungen
  2. erstellen Github-Repository
  3. Folge Github zu erstellen, die beiden
  4. zuordnen Wenn in Arbeits mein Projekt, drücken Sie Umschalt-Befehl: Geben Sie ein Floating-Terminal-Fenster
  5. Typ „git commit -am‚Commit-Nachricht‘zu bringen, um alle aktuellen Änderungen zu verpflichten
  6. gleiche Tastenkombination plus „Git-Pull“ oder „git push“ zu Code-Repository in Änderungen von Code-Repository oder Schieben Änderungen ziehen bzw.

ich, dass die Befehlszeile eine viel einfacheren Zusammenarbeit mit git ermöglicht finden als GitX, vor allem, wenn Sie etwas wie DTerm verwenden.

Für eine gute Referenz Besuche gitref.org. Viel Glück!

2

Starten Sie ein Terminalfenster.

Erstellen eines Repository:

cd project-dir 
git init 

das Repository in GitX Öffnungs:

cd project-dir 
gitx 

Begehen Änderungen:

git status 
git add . # or individual files 
git commit 

(es ist eine gute Idee, eine .gitignore Datei aus einrichten der Anfang.)

Lesen Sie das Pro Git Buch oder schauen Sie sich einige Videoanleitungen an unter git-scm.com, um schnell zu beginnen. Die von Linus ist meist eine Beschreibung der Implementierung plus Rant gegen andere VCS; Das zweite Video ist wirklich nützlich.

1

Ich verwendete Git unter OSX für ca. 6 Monate (wenn auch nicht mit Xcode). Es ist ein Vergnügen! Aber ja, es war eine schmerzvolle Erfahrung und manchmal eine steile Lernkurve, besonders wenn alle anderen am Projekt Windows-Entwickler (mit einer größeren Auswahl an Git-Clients) und Anti-OSX sind (nicht bereit oder nicht in der Lage zu helfen). Aber auf lange Sicht ist es die Mühe wert. Es ist machbar! Sobald Sie die Grundlagen haben, werden Sie feststellen, dass es 10x besser ist als Subversion. Zusammenführungen funktionieren einfach. Konflikte gehören mehr oder weniger der Vergangenheit an.

Aber mein Rat, vergiss GitX, es ist Mist. Ich begann damit, bald erkannte, dass es nicht tun (oder mindestens 18 Monate hat es nicht) alles, was Sie nicht leicht von der Kommandozeile aus tun können. Es macht auch viel weniger. So landen Sie schließlich im Terminal ... und das kommt von jemandem, der normalerweise das Terminal wegen seiner Inkompetenz hasst! Wenn Sie einen anständigen Front-End-Client wünschen, probieren Sie Syntevos SmartGit. Sobald ich herausgefunden hatte, dass ich Git schnell lieben konnte.

Empfehlen Sie auch das Pro Git eBook, das von Larsmans erwähnt wird.

1

Die Einfachheit von Git zu verstehen ist schwer. Wenn Sie Erfahrungen mit anderen (zentralisierten) Versionskontrollsystemen haben, versuchen Sie, sie zu vergessen und die grundlegenden Konzepte von Git (Objekte, Commits, Zweige, ...) zu verstehen. Es gibt viele Bücher da draußen. Ich empfehle die kurze (30 Seiten lang) Git from bottom up, es ist kostenlos und sehr nützlich. Ein weiteres kostenloses Lernmaterial finden Sie unter gitcasts. Pragprog und peepcode haben auch große Bücher und Screencasts. Sie sind nicht frei, aber nützlich.

Ich benutze git mit XCode für mehrere Monate, und sie arbeiten zusammen. Obwohl XCode nicht als unterstütztes Versionskontrollsystem aufgeführt ist, können Sie git über die Befehlszeile verwenden. Ich habe versucht, GitX zu benutzen, fand es aber nie nützlicher als git von der Kommandozeile. Probieren Sie es aus, vielleicht passt es Ihren Gewohnheiten mehr.

Für XCode fand ich diese gitignore und gitattributes Datei nützlich für meine Projekte:

.gitignore:

# xcode noise 
build/* 
*.pbxuser 
*.mode1v3 
*.mode2v3 
*.perspective 
*.perspectivev3 

# osx noise 
.DS_Store 
profile 

# other 
.svn 
*.swp 

.gitattributes: *.pbxproj -crlf -diff -merge

+0

Markieren Sie * .pbxproj nicht als -diff -merge. Das Dateiformat pbxproj ist so konzipiert, dass es sinnvoll ver- und mischbar ist. Wenn Sie Konflikte von mehreren Personen erhalten, die Dateien derselben Build-Phase oder -Gruppe hinzufügen, beheben Sie diese Konflikte entsprechend. –

0

ich die Git Book fand eine wirklich nützliche Ressource zu sein . Es erklärt die Grundlagen in einfachen Worten und versucht nicht, die Dinge zu komplizieren, indem es auf die technischen Überlegungen hinter all den Funktionen eingeht. Zumindest habe ich davon gehört.