Dieser Artikel ist bereits über 3 Jahre alt. Die Inhalte sind wahrscheinlich bereits überholt und nicht mehr aktuell.

Mit einer Versionsverwaltung, bzw. einer Versionskontrolle behalten Sie jederzeit den Überblick über Änderungen am Quelltext und vereinfachen die Zusammenarbeit mit anderen Entwicklern. Sehr einfach und etabliert ist Git, welches aktuell weltweilt von tausenden Entwicklern eingesetzt wird. Hier erhalten Sie nun eine Einführung in die Versionsverwaltung mit Git bei der Nutzung des kostenfreien Services von GitHub.

Bevor es losgeht noch eine kleine Trivia: Ursprünglich wurde Git zur Verwaltung des Linux-Kernels von Linus Torvalds entwickelt.

Installation

Die Installation ist unter Windows, Linux und OS X problemlos möglich. Neben der Nutzung der Konsole (die ich hier vorstellen werde), kann auch einer von vielen grafischen Clients genutzt werden, wobei diese meist nur bedingt zu empfehlen sind.

Windows

Gehen Sie auf diese Seite und laden Sie sich den Windows-Installer herunter. Während der Installation sollten Sie die voreingestellten Einstellungen beibehalten, außer Sie wissen bereits, dass Sie Dinge ändern wollen/müssen. Als einfachen grafischen Client kann ich hier besonders den GitHub-Client empfehlen, der Ihnen alle Arbeit an der Konsole abnimmt, jedoch nicht den vollen Funktionsumfang bieten kann.

Linux

Führen Sie einfach in Ihrer Konsole unter Debian ein

sudo apt-get install git

durch und unter Arch ein

sudo pacman -S git

OS X

Auch hier laden Sie sich einfach den Installer von dieser Seite herunter oder den nativen GitHub-Client von hier und folgen der Installation.

Einrichtung

Um nun mit Git arbeiten zu können, sollten Sie sich einen kostenfreien GitHub-Account anlegen und danach Git auf Ihrem Rechner einrichten. Starten Sie dazu unter Windows die Git Bash und unter Linux/OS X eine Konsole.

Um Ihre Arbeit auch unter Ihrem Namen zu veröffentlichen/verwenden, müssen Sie Git Ihren Namen und die bei GitHub hinterlegte E-Mail Adresse nennen. Dies geht wie folgt:

git config --global user.name "Ihr Name"
git config --global user.email "[email protected]"

Ändern Sie jeweils die persönlichen Angaben und bestätigen Sie Ihre Eingabe dann mit einem Druck auf die Enter-Taste.

SSH-Keys

Eigentlich könnten Sie jetzt schon anfangen und mit Git arbeiten, jedoch würden Sie immer nach einem Passwort gefragt. Daher empfehle ich Ihnen die Arbeit mit SSH-Keys.

Wechseln Sie dazu in das Verzeichnis ~./ssh und überprüfen Sie mittels ls ob dort bereits eine Datei namens id_rsa.pub vorhanden ist. Falls ja, können Sie mit dem nächsten Schritt fortfahren. Andernfalls müssen Sie sich erstmal mit diesem Befehl ein Schlüsselpaar generieren lassen:

ssh-keygen -t rsa -C "[email protected]"

Bestätigen Sie den Speicherort nun einfach mit einem Druck auf die Enter-Taste und geben Sie (falls gewünscht) noch eine Passphrase ein. Sobald Sie nun eine Ausgabe mit The key fingerprint is: sehen, ist das Schlüsselpaar erzeugt.

SSH-Key einfügen

Teilen Sie nun GitHub auf dieser Seite Ihren öffentlichen Schlüssel mit, indem Sie den Inhalt der id_rsa.pub Datei als neuen SSH-Key in das vorgesehene Feld einfügen. Dazu geben Sie einfach cat id_rsa.pub auf der Git Bash ein und kopieren die Ausgabe in das Feld.

Testen Sie nun die Funktion, indem Sie nun eine SSH-Verbindung herstellen:

Daraufhin erhalten Sie nun eine solche Ausgabe:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

Bestätigen Sie den Fingerprint nun und Sie sollen diese Nachricht sehen:

Hi IhrNutzername! You've successfully authenticated, but GitHub does not provide shell access.

Die Arbeit im Repository

Nun können Sie loslegen. Wechseln Sie in der Git Bash in das gewünschte Verzeichnis (oder erstellen Sie eins) und führen Sie dort dann

git init

aus, um das Repository lokal anzulegen.

Kopieren Sie nun einfach Dateien in das Verzeichnis und arbeiten Sie damit. Nach jeder (wichtigen) Änderung sollten Sie dann diese zwei Befehle hintereinander ausführen, um die Änderungen zu dokumentieren (commit anlegen):

git add -A
git commit -m "Was verändert wurde"

Veröffentlichen

Wenn Sie Ihre Arbeit nun öffentlich zeigen oder Mitarbeiter gewinnen wollen, müssen Sie Ihr Projekt veröffentlichen. Dazu erstellen Sie einfach hier ein neues Repository und kopieren dann die SSH-URL in die Zwischenablage. Und zwar geben Sie Git nun das Remote-Ziel an; also wohin die Daten gesendet werden sollen. Führen Sie dazu dann einfach diesen Befehl aus:

git remote add origin [email protected]:IhrNutzername/RepoName.git

Um die Daten nun hochzuladen, verwenden Sie einfach diesen Befehl:

git push -u origin master

Änderungen hochladen

Bei Ihrer Arbeit im Repository verändern Sie Dinge und wollen diese dann auch direkt veröffentlichen? Dazu müssen Sie nur diese drei Befehle in folgender Reihenfolge ausführen:

git add -A
git commit -m "Was verändert wurde"
git push origin master

Und schon können Sie Ihre Änderungen bei GitHub sehen.

Tipps & Tricks

Git und GitHub haben so viel mehr zu bieten, als dass ich all das in einem Artikel beleuchten könnte. Daher hier noch ein paar Tipps für den Umgang mit Git und GitHub.

Git

  • Falls Sie einen kleinen Fehler (Tippfehler, …) in einem Commit gemacht haben, ist es am einfachsten einen weiteren Commit mit einer Richtigstellung zu erstellen, anstatt den vorherigen Commit zu entfernen.
  • Um zum Stand eines vorherigen Commits zurückzukehren, können Sie einfach folgende Zeile nutzen: git revert bf39dm63
    Dabei muss der letze Parameter zu einem Commit gehören. Mit der Ausführung dieses Befehls wird ein neuer Commit angelegt, welcher alle Dateien auf den Stand des angegebenen Commits zurücksetzt.

GitHub

  • Nutzen Sie die “Issues"-Funktion! Damit haben Sie einen leichten Überblick über gemeldete Fehler und offene TODOs, die auch von anderen Nutzern eingereicht werden können. Ein Commit der sich auf ein Issue bezieht, kann einfach Closes # 42 benannt werden, damit das Issue 42 automatisch (mit einer entsprechenden Nachricht) geschlossen wird.
  • Nutzen Sie GitHub doch auch zum Hosten Ihrer Website! Mit GitHub Pages können Sie selbst statische Websites bei GitHub hosten - auch mit einer eigenen Domain. Weitere Informationen dazu finden Sie hier.

Fazit

Dank Git und GitHub ist die Versionsverwaltung und der Überblick über gemachte Änderungen am Quelltext sehr einfach für den Entwickler. Ich kann jedem nicht-Nutzer einen Test von Git empfehlen - Sie werden es nicht mehr missen wollen.