Thema: GitHubDatum: 19.11.2014

Du hast dich also entschieden, einen kleinen Beitrag zum Erfolg dieser Website beizutragen oder würdest einfach nur gerne wissen, wie man GitHub verwendet und was das eigentlich ist? Dann hast du bereits den ersten Schritt getan, indem du dir diese Zeilen hier gerade durchliest.

Doch was ist dieses GitHub überhaupt?
Ganz einfach gesagt, handelt es sich hierbei um eine Versionsverwaltung für Software-Projekte. Wer früher noch mit USB-Sticks und E-Mail Anhängen ein Projekt zusammengeführt und verwaltet hat, der nutzt heute die Möglichkeiten des Internets um gemeinsam an einer Lösung zu arbeiten.
Allerdings entspricht GitHub nur der halben Wahrheit. Die eigentliche Versionswerwaltungs Software ist Git, diese wurde ursprünglich für die Quellcode Verwaltung des Linux-Kernels entwickelt. GitHub bietet in diesem Zusammenhang lediglich die Möglichkeit, dass ganze über das Internet ablaufen zu lassen.

Neben GitHub gibt es noch weitere Anbieter wie Bitbucket, GitLab oder dem eigenen kleinen Git-Server daheim. Um nur ein paar Alternativen zu nennen. Nichtsdestotrotz werde ich mich mit meiner kleinen Erläuterung auf GitHub beschränken.

Die Versionsverwaltung läuft innerhalb sogenannter Repositories ab. Solche Repositories könnte man einfach als Ordner "mit dem gewissen Extra" bezeichnen, in dem unser Projekt zunächst lokal verwaltet wird. Damit diese schließlich auf GitHub landen, müssen sie in das dortige Online-Repository gepushed werden.
Aber bevor wir mit soetwas anfangen, legen wir uns doch am Besten zunächst einen Account auf GitHub an.

Hierfür besucht ihr die Website GitHub.com und registriert euch dort. Dafür einfach in die geforderten Felder die benötigten Informationen eintragen und Sign up for GitHub auswählen.



Im nächsten Abschnitt, werden wir nach der Auswahl eines "Plans" gefragt. Hier wählt man am Besten "Free" aus, da wir das Ganze zunächst einmal testen wollen und im späteren Verlauf immernoch die Möglichkeit haben, einen anderen auszuwählen.
Da wir keine "Organization" möchten, lassen wir das Feld unbeachtet und wählen "Finish sign up".



Nun befinden wir uns auch schon in der Übersicht von GitHub. Wer sich gut 30 Sekunden zurückerinnert, dem dürfte einfallen, dass unter "Free" eine Anzahl von Null privaten Repositories stand. Das heißt, alle Projekte die ihr in GitHub anlegt sind für jeden frei einsehbar.
Das lässt sich leicht ändern und das auch noch kostenfrei, wenn ihr beispielsweise ein Student seid. Dafür geht ihr einfach nachdem der Account erstellt wurde auf GitHub Education und füllt die dortigen geforderten Angaben aus.

Nach einiger Zeit solltet ihr dann eine Nachricht erhalten, dass ihr freigeschaltet wurdet und könnt nun auch ohne monatliche Kosten private Repositories erstellen.
Wir sind mal so frei und ignorieren das nette Angebot von GitHub uns in das System einzuführen, wir sind ja schon groß und "Learning by doing" hat noch niemandem geschadet.



Als nächstes wollen wir also ein neues Repository auf GitHub anlegen. Hierzu wählen wir das in der oberen Menüleiste befindliche Plus aus und drücken auf "New repository".



Nun gibt es einiges was wir ausfüllen können, aber nicht brauchen. Aktuell interessiert uns nur der "Repository name" den wir in unserem Fall "Mein_Test_Repo" genannt haben. Initialisieren brauchen wir das Repository auch nicht, da wir für unsere Zwecke keine Inhalte brauchen.
Schließlich bestätigen wir die Auswahl mit "Create repository"



Erstmal ein herzliches glückwunsch an dieser Stelle, du hast somit dein erstes Repository erfolgreich auf GitHub erstellt. Leider bringt dir das aber noch nicht viel.
Was für unsere nächsten Schritte wichtig ist, ist die URL: https://github.com/USERNAME/REPOSITROY_NAME.git

Uns fehlt aber noch Git auf unserem PC. Hierfür installieren wir, je nach Betriebssystem, die passende Version:

- Git für Windows
- Git für Mac

Nun können wir auch lokale Repositories erstellen, welche dann auf GitHub landen (sofern wir das wollen).

Da wir schon ein Repository auf GitHub erstellt haben, klonen wir dieses doch einfach auf unseren PC. Dies geschieht mit dem Befehl "git clone https://github.com/USERNAME/REPOSITROY_NAME.git"
Sobald das Repository bei uns gelandet ist, können wir auch erste Dateien hinzufügen. Hierzu einfach in den Ordner des lokalen Repositorys wechseln und eine Datei erstellen. Gernerell sollte sich der geklonte Ordner in eurem Benutzerverzeichnis befinden.



Nachdem ihr das getan habt, wird es langsam Zeit die Welt an eurem Schaffen teilhaben zu lassen. Dazu wechselt ihr über die Kommandozeile in den Ordner eures Repository und fügt mittels "git add Hallo_Repo.rtf" eure gerade erstellte Datei hinzu.
Mit "git commit -m "Meine erste Datei"" wird die Änderung der Datei zum pushen freigegeben. Das Kommentar am Ende dient dazu, um zu erläutern was man verändert hat.



Damit die Datei schließlich ihren Weg in unser Repository findet, fehlt nur noch "git push -u origin master" und schon steht die Datei der Öffentlichkeit zur Verfügung.



Wenn wir jetzt einen Blick in unseren Account werfen, sehen wir dort auch die Änderungen welche wir vorgenommen haben.

Mit den Grundwerkzeugen im Gepäck, können wir uns jetzt daran machen, Verbesserungen für die Website DHika.de beizutragen.
Dafür müsst ihr lediglich bei mir vorbeischauen http://github.com/DHikade und das passende Repository auswählen. Ihr könnt aber auch direkt über http://github.com/DHikade/www.dhika.de darauf zugreifen.



Dort angekommen, könnt ihr oben rechts auf "Fork" drücken, um eine Kopie des Repositories zu erhalten. Mit dieser Kopie könnt ihr nun selbst aktiv arbeiten und Veränderungen beitragen. Klont euch also das nun vorhandene Repository wie bereits erklärt und startet damit euren Teil beizutragen.
Sobald ihr einige Änderungen, Verbesserungen oder anderweitige Änderungen vorgenommen habt, müssen diese dem Hauptprojekt nur wieder hinzugefügt werden.



Dazu eröffnet ihr einen Pull-Request. Dieser teilt mir mit, dass eine Änderung vorgenommen wurde und diese doch bitte dem eigentlichen Projekt hinzugefügt werden kann.
Natürlich werde ich vor dem zusammenführen erstmal einen Blick auf eure Änderungen werfen und dann entscheiden, ob diese Änderung gut für die Website ist.



Da ihr jetzt wisst was zu tun ist, freue ich mich schon auf die verschiedenen Vorschläge die hoffentlich mit der Zeit eintreffen werden.
Zu guter letzt habe ich hier noch eine kleine Übersicht der Git Befehle und für wirklich motivierte eine Zusammenstellung als Karteikarten für das Mnemosyne Project.

Befehl Nutzen
git clone URL Kopiert Repository aus GitHub
git add DATEI.ENDUNG Kopiert Fügt Datei lokalem Repository hinzu
git add ORDNER/* Kopiert Fügt Ordner mit Inhalt lokalem Repository hinzu
git commit -m "KOMMENTAR" Gibt Änderung mit Kommentar frei
git push -u origin master Lädt Änderung ins Online-Repository