Das GitHub der THM

von lars

Da die Benutzung des GitHub der THM für viele ja nicht so einfach ist, hier eine kurze Schritt-für-Schritt-Anleitung, wie ihr GitHub mit NetBeans verbindet 😉

1. GitHub herunterladen

Unter Windows benötigt ihr die offizielle GitHub Software, die einige Tools mit sich bringt, die ihr in Schritt 3 benötigt. Also ladet ihr euch die Software GitHub für Windows herunter und installiert sie mit wenigen Mausklicks. Linux-User können diesen Schritt überspringen.

2. GitHub der THM?!?

Für das GitHub der THM müsst ihr euch zu erst einmal online anmelden, damit das Konto freigeschaltet wird. Besucht dazu git.thm.de und meldet euch über das CAS wie gewohnt an.

3. SSH Key generieren und einfügen

Damit GitHub eurem PC vertraut, müsst ihr einen SSH-Key generieren. Linux hat das erforderliche Konsolenprogramm schon mit an Board. Für Windows benutzt ihr die Git Shell. Ihr solltet eine entsprechende Verknüpfung auf dem Desktop oder im Startmenü haben, wenn ihr Schritt 1 erledigt habt. In der Git Shell – oder für Linux auf einem normalen Terminal – gebt ihr dann ein:
ssh-keygen -t rsa -C "deine.email@XXX.thm.de"
Bei „Enter file in which to save…“ gebt ihr nichts ein und drückt einfach nur ENTER. Jetzt fragt er nach einer „Passphrase“. Da nehmt ihr irgendetwas einfaches, das ihr euch merken könnt (z.B. 123456). Ich komme in Schritt 5 darauf zurück. Dies erzeugt uns nun 2 Dateien in unserem Benutzer-Verzeichnis im Unterordner .ssh (Windows: C:\Users\NAME\.ssh\ – oder Linux: /home/NAME/.ssh/). Dieser Ordner ist in Windows möglicherweise versteckt! Wir benötigen den Inhalt der Datei id_rsa.pub (wichtig .pub) aus eben diesem Verzeichnis. Öffnet die Datei einfach mit einem Text-Editor eurer Wahl. Jetzt geht ihr zurück auf die Weboberfläche von GitHub. Oben rechts klickt ihr auf „Profil Settings“ und daraufhin im Menü links auf „SSH Keys“. Dann auf den grünen Knopf „Add SSH Key“. Dort gebt ihr dann den Inhalt der id_rsa.pub ein. Der Titel ist ziemlich egal. Es sollte sowas wie „Mein Laptop“ oder ähnliches sein, damit ihr es später noch erkennt.
Sollte beim Klicken auf Add Key ein Fehler auftreten, stellt sicher, dass ihr den gesamten Inhalt der id_rsa.pub Datei eingefügt habt!
(Weitere Informationen zu SSH)

4. Projekt anlegen

Auf der Hauptseite (dem Dashboard) vom GitHub der THM legen wir jetzt ein neues Projekt an. (Dies ist auf jeden Fall einfacher, als ein bereits vorhandenes NetBeans-Projekt zu laden. Den Code könnt ihr später von Hand kopieren.) Dazu klickt ihr auf den grünen Button „New Project“ oder das kleine oben rechts. Gebt dem Projekt einen „Project path“ und klickt auf „Create project“ (die anderen Einstellungen können wir ignorieren, bzw. später ändern). Danach landet ihr auf dem Projekt-Dashboard. Etwas weiter unten seht ihr eine „SSH-URL“. Diese merken (kopieren) wir uns für den nächsten Schritt.

5. GitHub mit NetBeans verknüpfen

Startet NetBeans und klickt im Menü auf „Team“ -> „Git“ -> „Clone“. Als „Repository URL“ gebt die eben kopierte SSH-URL ein. Der „Username“ ist „git“. Setzt den Haken bei „Private/Public Key“ und gebt den Dateipfad „C:\Users\NAME\.ssh\id_rsa“ bzw für Linux: „~/.ssh/id_rsa“ (ohne Anführungszeichen) ein. Achtung: Hier die Private-Key-Datei. Also die „id_rsa“ ohne .pub! Dazu noch die „Passphrase“ aus Schritt 3. Unter „Clone into“ gebt ihr das neue lokale Verzeichnis an, wo die Projektdateien auf diesem PC liegen sollen. Meistens kann dieses Feld voreingestellt belassen werden. (Ein „Master Password“ braucht ihr nicht festzulegen. Fragt er euch, ob er die Datei „known_hosts“ erstellen soll, klickt auf Ja) Bei dem nächsten Schritt wählt ihr das erste Kästchen aus, wenn es möglich ist. Wenn nicht, dann einfach auf Weiter. Auf der folgenden Seite könnt ihr alles so eingestellt lassen, wie es ist. Finish. Anschließend klickt ihr auf Create Project und erstellt euer Haupt (master) Projekt (z.B. eine Java FX FXML Application) wie gewohnt.

6. Changes commiten

Wenn ihr das Projekt erstellt habt, sind in NetBeans einige Dateien, von denen Git noch keine Ahnung hat (grüne Schriftfarbe). Diese commiten wir jetzt in das lokale Git-Repository und laden es anschließend auf den Server. Und zwar…

  • Entweder macht ihr das mit allen (grünen) Dateien einzeln,
  • Oder mit dem ganzen Projekt.

Die erste Variante werdet ihr später verwenden, wenn ihr an einer Datei etwas verändert – euer Teampartner aber gerade an den anderen Dateien arbeitet – dann ist es nicht erforderlich das ganze Projekt zu commiten. Für den allerersten Commit werden wir nun das ganze Projekt commiten: Dazu klickt ihr in der Projektmappe auf den Projektnamen mit der rechten Maustaste und wählt Git -> Commit. Dort könnt ihr eurem Commit (eurer Änderung) eine Nachricht anhängen. Hierbei empfehlt es sich, genau zu dokumentieren, was ihr verändert habt. Für diesen ersten Commit schreibt am Besten „First Commit“ oder Ähnliches. Bestätigt mit einem Klick auf dem Button Commit die Änderungen der aufgeführten Dateien. Jetzt hat unser lokales Git-Repository die Änderungen registriert. Damit der Server das auch mitkriegt, pushen wir jetzt das lokale Repository auf den Server. Dazu klickt ihr in der Projektmappe auf den Projektnamen mit der rechten Maustaste und wählt Git -> Remote -> Push To Upstream. Anschließend bestätigt ihr, dass ihr die Branch ‚master‘ erstellen möchtet und auch, dass ihr ‚master‘ auf den Server (remote) übernehmen möchtet (diese beiden Abfragen kommen nur beim ersten Mal). Das Projekt sollte nun auf git.thm.de im Unterpunkt „Files“ komplett zur Verfügung stehen.

Merken wir uns also:
Speichern -> Commit -> Push

7. Einer anderen Person Zugriff gewähren

Geht auf git.thm.de auf euer Projektdashboard. Dann im Menü auf „Settings“ -> „Members“ und anschließend auf den grünen Button Add members. In der Liste „People“ tauchen alle Studenten auf, die sich wenigstens ein mal auf git.thm.de angemeldet haben. Gebt euren Teammitgliedern Developer oder Master Berechtigungen. Ein Teammitglied hinzuzufügen funktioniert genauso, wie einen zweiten PC hinzuzufügen. Ihr müsst die Schritte 1,3 und 5 wiederholen. Mit der Außnahme, dass kein neues (Netbeans) Projekt erstellt werden muss. Anschließend könnt ihr mit „Remote“ -> „Pull from Upstream“ die Projektdateien herunterladen.

Nicht vergessen:
Jedes Mal, wenn eure Teammitglieder Dateien ändern, wird dies bei euch erst sichtbar, nach einem „Pull from Upstream“

0 comments

Leave a reply