Für neue Projekte verwenden wir bei Teleteach das Versionsverwaltungssystem Git, da es gegenüber anderen frei verfügbaren Systemen einige Vorteile bietet. Ein Tutorial zu Git auf Mac OS X findet ihr übrigens bei macnotes.de.

Um Anwendungen für Mac OS X (Desktop) oder iOS (iPhone, iPod Touch und iPad) zu schreiben, verwendet man die Entwicklungsumgebung Xcode von Apple. Leider gibt es jedoch für Xcode kein Plugin oder Zusatzmodul um git zu integrieren.
Weiterlesen…

, , , , , , ,

Nachdem ich jedes mal wieder anfange die Dokumentation zu lesen hier mal der Ablauf meines Standard-Verfahrens, ein neues git-repository auf einem Server mit ssh-Zugang einzurichten.

1. Initialisierung des leeren Repositories auf dem Server

Anstatt erst ein sog. bare-Repository auf meinem Rechner zu erstellen, das auf den Server zu kopieren und dann lokal zu löschen, erzeuge ich das leere Repository gleich auf dem Server (erfordert natürlich einen Shell-Zugang zum Server).

thomas@gitserver:/home/git$ mkdir <projectname>
thomas@gitserver:/home/git$ cd <projectname>/
thomas@gitserver:/home/git/<projectname>$ git --bare init --shared
Initialized empty shared Git repository in /home/git/<projectname>/

Die zwingende Reihenfolge der Optionen beim git init kann ich mir immer noch nicht merken….

2. Verbinden des lokalen git-Repositories mit dem Server:

Natürlich muss das lokale Repository vorher mit git init angelegt worden sein.

thomas@local$ git remote add origin thomas@gitserver:/home/git/<projectname>

Damit sind das lokale und das Remote-Rspository miteinander verknüpft.

3. (Erstes) Hochladen der Inhalte

Die bisher lokal (im branch master) erzeugten Inhalte werden nun zum Server übertragen.

thomas@local:/home/thomas/<projectname>$ git push origin master
Counting objects: 67, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (56/56), done.
Writing objects: 100% (67/67), 79.96 KiB, done.
Total 67 (delta 10), reused 0 (delta 0)
To thomas@gitserver:/home/git/<projectname>
 * [new branch]      master -> master

4. Den “master”-Branch mit dem Server verbinden

Damit der pull nicht meckert kommt ans Ende der Datei .git/config noch:

[branch "master"]
        remote = origin
        merge = refs/heads/master

Fertig!

,