Git: Basics

Posted by in git

Copyright http://git-scm.com/
image-231

Copyright http://git-scm.com/

Seit einigen Monaten schon wollte ich auf github.com ein eigenes Projekt hochladen. Habe es dann doch nie getan, weil ich das Ganze mit Eclipse und Egit machen wollte und mir die Bedienung von git zu undurchsichtig war mit all dem Staging, und Branchen usw.

Die ersten Gehversuche

Für mein kleines Nodejs-Tutorial wollte ich aber unbedingt den Source-Code online stellen. Also habe ich mich auf die Suche nach Tutorials gemacht, die git auf der Kommandozeile behandeln, da es eigentlich von dort bedient werden soll. Und siehe da, es hat endlich Klick gemacht.

Diese Anleitungen habe ich gelesen und anhand dieser mein Repository befüllt:

Was dieses Tutorial behandelt

Nachdem ihr das Tutorial nachvollzogen habt wisst ihr, wie man

  • git auf Debian-basiertem Linux installiert
  • ein Projekt für git vorbereitet
  • Dateien in das lokale Repository einfügt
  • Dateien commited
  • das git-Log anzeigt
  • den aktuellen Status des Repositories anzeigt
  • die Änderungen in ein github-Repository pushed

Git installieren

Da wir in diesem Eintrag keinen Wert darauf legen, dass wir auch die neueste Version installieren. Wollen wir das, so sollten wir uns hier umsehen. Für jetzt reichen aber unsere Sourcen aus:

Projekt vorbereiten

Um weiterzumachen brauchen wir irgendein Projekt an dem wir uns ausprobieren können. Ich habe vor Kurzem ein kleines Nodejs-Tutorial fertiggestellt und wollte die Resourcen online stellen. Um das Projekt unter eine lokale Versionsverwaltung zu stellen, reicht es in das Verzeichnis zu wechseln und folgendes Kommando ausführen:

Dateien unter Versionsverwaltung stellen

Mit dem nächsten Kommando stellt man gezielt Dateien unter die lokale Versionsverwaltung. Will man grundsätzlich alle Dateien dazunehmen dann reicht es

einzugeben und schon sind alle Dateien und Ordner mit Unterordnern abgedeckt.

Hat man neue Dateien erstellt, wie zum Beispiel eine README.rdoc-Datei, dann kann man auch das hier eingeben:

Alle Dateien die mit git add hinzugefügt wurden befinden sich jetzt im Staging-Status, sind also noch nicht im lokalen Repository commited. Mit

kann man die Datei wieder Unstagen. HEAD verweist dabei auf den Branch (in einem weiteren Beitrag dazu mehr)

Aktueller Status des Repositories anzeigen

Mit git status kann man sich kann man sich den aktuellen Zustand des Repositories anzeigen lassen. Es müsste jetzt genau eine Datei bereit sein, um committed zu werden.

Änderungen commiten

Die Änderungen werden mit git commit ins lokale Repository commited. Ich verwende hier den Schalter -m gefolgt von einem String der mit Hochkommata eingeschlossen wird. Man kann es auch ohne -m machen, dann öffnet sich ein Texteditor wie vi, indem man die Änderungen einträgt. Das ist für umfangreiche Commit-Nachrichten sinnvoll.

git-Log

Das git log gibt einem Auskunft über die letzten Commits:

In ein github-Repository pushen

Fehlt nur noch die Änderungen auch auf github.com hochzupushen. Dazu erstellen wir dort ein Repository. Der Name für mein Repository ist nodejsexpresstutorial und die URL kann ich direkt aus der Repository-Info ablesen. Bevor wir jedoch die Änderungen auf github.com hochladen können müssen wir unserem lokalen Repository sagen, wo denn das Remote-Repository liegt:

Damit kann man die Änderungen in das Remote-Repository pushen.

Fazit und Ausblick

Dieser Beitrag hat gezeigt, wie man git installiert und Basisoperationen ausführt. Damit ist eine lokale Versionverwaltung möglich. Außerdem wurde erklärt, wie man in ein Repository auf github.com Dateien pushed. In einem weiteren Beitrag, werde ich noch etwas genauer auf die bereits hier besprochenen Kommandos eingehen und auch etwas über Branching schreiben.