Dies ist die archivierte Version des Blogs vom 05.01.2017. Aktuelle Beiträge findest du unter thomas-leister.de
 

Lange Zeit war für mich Git ein Mysterium. In den letzten Monaten habe ich mich jedoch mehr damit beschäftigt und meine nun, die Basics verstanden zu haben ;) Ich hätte mir als Anfänger eine kleine Anleitung gewünscht, die mir einfach erklärt, wie ich meinen Code auf GitHub veröffentliche. Deshalb habe ich mir gedacht, ich fasse hier einfach mal kurz zusammen, wie man ohne Vorwissen zu Git seinen Code zu GitHub überträgt und ein neues Repository anlegt.

Update: Ich habe eine neue, umfassendere Einleitung zu Git verfasst: Die wichtigsten Git-Kommandos für Einsteiger

Reposiory auf GitHub anlegen

Auf GitHub muss zur Veröffentlichung von Code selbstverständlich ein neuer Account angelegt werden. Nach der Registrierung kann auch schon losgelegt werden: Oben rechts neben dem Namen des gerade eingeloggten Benutzers befindet sich ein Plus-Symbol. Legt über den Menüpunkt „New Repository“ ein neues Repo an. Vergebt einen Namen und eine kurze Beschreibung für euer Repository und legt die Lizenz fest, unter der ihr euren Code veröffentlichen wollt. Neben „Initialize this repository with a README“ könnt ihr einen Haken setzen. Dadurch neben einer Lizenz-Datei auch eine README Datei generiert, in der ihr später wichtige Informationen zur Benutzung eurer Software festhalten könnt. Die README Datei wird auf GitHub direkt angezeigt, sodass ein Besucher sich schnell Informationen zum Repository einholen kann. Mit einem Klick auf „Create repository“ wird das Repo erstellt und ihr werdet auf die Hauptseite des Repositorys weitergeleitet.

GitHub Repo erstellen

Dort könnt ihr auf der rechten Seite unter „Settings“ noch einige Einstellungen vornehmen, z.B. dass nur Mitglieder einer bestimmten Gruppe „committen“ können (also Schreibzugriff auf das Repo haben).

Lokales Code-Verzeichnis Git-fähig machen

Auf eurem Rechner öffnet ihr nun ein Terminal und navigiert in euer Code Quellverzeichnis. Falls ihr Git noch nicht installiert habt, solltet ihr das an dieser Stelle nachholen. Pakete dafür gibt es für jede Linux-Distribution. Das Quellverzeichnis wird mit folgendem Kommando „Git-fähig“ gemacht:

git init

Als nächstes wird das lokale Repository mit dem Remote-Repository auf GitHub verbunden, sodass zwischen den beiden Repos ein Austausch stattfinden kann. Dabei bekommt das Repo auf den GitHub-Servern den Namen „origin“. Die Adresse, die am Ende des Kommandos steht, ist die SSH-Adresse zum GitHub Repo. Diese kann in GitHub in der rechten Spalte entnommen werden (Vorher Klick auf „SSH“!).

git remote add origin git@github.com:ThomasLeister/tl-test.git

Repos abgleichen

Als nächstes müssen die beiden Repos abgeglichen / synchronisiert werden. Während auf GitHub bisher nur die beiden Dateien „LICENSE“ und „README“ zu sehen sind, befindet sich der Code des Projekts noch im lokalen Repository auf dem Rechner. Im ersten Schritt werden die Dateien „LICENSE“ und „README“ in das lokale Repo kopiert, damit sie auch dort verfügbar sind und ggf. geändert werden können. Die Änderungen des Master-Branches im Origin-Repo auf den Rechner „ziehen“:

git pull origin master

Das „master“ bedeutet, dass in diesem Fall der Inhalt des Master-Branches (Hauptzweigs) in das lokale Repo kopiert wird. Es können neben dem Master-Branch noch weitere Zweige anlelegt werden, aber darauf will ich nicht näher eingehen. Für den Anfang genügt es, einen einfachen Master-Branch zu haben.

Wenn ihr jetzt nochmal in euer Quellcode-Verzeichnis seht, werdet ihr die beiden neuen Dateien entdecken. Das lokale Verzeichnis ist jetzt also vollständig. Fehlt noch das Remote-Repository „Origin“ auf GitHub, das noch ziemlich leer ist. Der Projektcode wird jetzt auf die GitHub Server hochgeladen. Dazu muss zuerst festgelegt werden, welche Dateien für die Übertragung überhaupt infrage kommen sollen. Da der komplette Code hochgeladen werden soll (also alle Dateien „commitet“ werden sollen), wird dieser Befehl genutzt:

git add .

Falls nur einzelne Dateien für einen Commit beachtet werden sollen, können sie mit

git add datei.txt

einzeln hinzugefügt werden. Die über dieses Kommando hinzugefügten Dateien befinden sich nun im sog. „Stash“ und sind bereit für einen Commit. Alle anderen Dateien werden bei einem Commit nicht übertragen. Sobald alle gewünschten Dateien in Stash sind, kann ein neuer Commit erstellt werden:

git commit -m "Nachricht"

„Nachricht“ wird hierbei durch eine kurze Beschreibung ersetzt, was der Commit geändert hat. Z.B. „Fehlerbehebung bei Login“. Auf diese Weise bleibt nachvollziehbar, wozu der Commit überhaupt gut war und was sich am Code geändert hat.

Nachdem der Commit erstellt wurde, kann das Remote-Repo auf GitHub aktualisiert werden. Beim ersten Hochladen („push“) muss angegeben werden, welcher denn der Standard-Branch sein soll für Pushes. In unserem Fall soll das wieder der Master-Branch im „origin“-Repo sein:

git push --set-upstream origin master

Jeder weitere Push kann ohne eine Branch-Angabe ausgeführt werden:

git push

Jetzt ist auch das GitHub Repo aktuell und alle Quelldateien sollten über die GitHub Seite verfügbar sein.

Informationen zum Repo-Status einholen

Wenn ihr genau wissen wollt, in welchem Status sich euer lokales Repository befindet und welche Dateien sich beispielsweise schon im Stash befinden, könnt ihr folgenden Befehl nutzen:

git status

Weitere Vorgehensweise

Wenn du deinen Code lokal geändert hast und die Aktualisierungen auf den GitHub Server hochladen willst, gehst du so vor:

git add .
git commit -m "Nachricht"
git push

… und das war’s auch schon ;)

Falls du nicht alleine an einem Projekt arbeitest, sondern mehrere Personen zu dem Projekt beitragen, wird der Code im GitHub Repo schnell aktueller sein als dein lokales Repository. Aus diesem Grund sollte man das lokale Repo auf den neuesten Stand bringen, bevor man mit den eigenen Änderungen beginnt. Schließlich will man ja nicht mit alten Dateiversionen arbeiten:

git pull

 

Ich hoffe, diese Kurzanleitung für Einsteiger ist verständlich. Wenn nicht: Sagt einfach in den Kommentaren Bescheid, dann werde ich nachbessern.


Post published on 26. Dezember 2014 | Last updated on 7. Mai 2016
Tags:       

Diesen Blog unterstützen

Wenn Dir der Beitrag gefallen hat, freue ich mich über einen kleinen Obolus :-) Bitcoin QR Code

PayPal-Seite: https://www.paypal.me/ThomasLeister
Meine Bitcoin-Adresse: 15z8 QkNi dHsx q9WW d8nx W9XU hsdf Qe5B 4s

Siehe auch: Unterstützung

Informationen zum Autor

Thomas Leister

Geb. 1995, Kurzhaar-Metaller, Geek und Blogger. Nutzt seit Anfang 2013 ausschließlich Linux auf Desktop und Servern. Student der Automobilinformatik an der Hochschule für angewandte Wissenschaften in Landshut.

7 thoughts on “GitHub für Anfänger: Repository anlegen und Code hochladen

  • >Lange Zeit war für mich Git ein Mysterium

    Das kenne ich. :D

  • Danke für diese Zusammenfassung. Wäre es evtl. möglich, Deine gesamten Erfahrungen zu veröffentlichen? Ich denke, eine vollständige Einführung, mit Anlegen des Kontos samt Schlüssel, und was man alles sonst so benötigen und berücksichtigen muss ist für viele hilfreich.

  • Hi,
    sieht ja toll aus. Super gemacht.
    Wäre es möglich diese Anleitung kurzfristig auch für Windows-Systeme einzustellen. (Bitte nicht gleich einen Shitstorm hier über mich, aber Windows ist nun mal das meist genutzte System auf der Welt – egal wie gut oder schleecht es sein mag…)
    LG
    Torsten

  • Hallo,

    vielen Dank für die Anleitung. Ich hatte Probleme mit dem SSH-Key. Bei dem Befehl „git pull origin master“ wurde immer
    Permission denied (publickey).
    fatal: Could not read from remote repository.

    ausgegeben. Vlt kannst Du noch kurz ergänzen, dass die Verbindung mittels SSH ausgebaut wird und die Anmeldung über ein Schlüsselpaar erfolgt. Hierfür muss der eigene publickey erzeugt und auf github kopiert werden.

    Keypair erzeugen: ssh-keygen -t rsa
    SSH-Agent starten: ssh-agent csh
    Keypair hinzufügen: ssh-add
    Public-Key anzeigen lassen: cat ~/.ssh/id_rsa.pub
    Diesen Key via Browser auf github laden -> Profil (oben links) ->Settings -> SSH keys -> Add SSH key :
    SSH-Verbindung zu github testen: ssh -vT git@github.com

    Deine Anleitung hat mit sehr viel Zeit gespart vielen Dank.

    Snowyrain

  • Eine tolle Anleitung, die man fast eins zu eins auch für Windows und Visual Studio Team Services verwenden kann. Vielen Dank!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.