Verwendung

Um mit dem Daedalus git arbeiten zu koennen solltest du dir zuerst einen Account auf github anlegen. Wenn du bereits einen Account hast kannst du diesen gerne weiterverwenden.

Teile diesen Namen dann einem Tutor mit, der dich in die daedalus Organisation eintraegt. Wenn du noch nicht viel mit git gearbeitet hast kannst du im Repository 'Sandkasten' experimentieren.

Du kannst fuer das Arbeiten mit git graphischen Lösungen wie giteye verwenden oder direkt das Terminal.

Arbeiten mit GitEye

Nach dem Download entpacken und einfach die Datei 'GitEye' ausfuehren.

Daten von github auf den lokalen Rechner holen

Die Dateien auf github sind in Projekte, sog. 'Repositories' organisiert. Um so ein Repository auf den eigenen Rechner zu holen, klicke auf 'Clone Repository'. Waehle github mit einem Doppelklick als Quelle des Repositorys aus. Dann gibt einfach den Namen, den das Repository im daedalus-Account hat, in die Suche ein. Die weiteren Optionen kannst du so lassen wie sie sind, klicke zum Schluss auf 'Finish'.

Pull - das lokale Repository aktualisieren

Bevor du anfaengst, an einem Projekt weiterzuarbeiten, solltest du immer einmal ein 'pull' ausfuehren, um sicherzugehen, dass du mit der aktuellsten Version des Projekts weiterarbeitest.

Klicke dazu einfach mit der rechten Maustaste auf den Projektnamen in der linken Leiste und waehle 'Pull' aus - oder auf das entsprechende Symbol in der Leiste oben.

Mit dem Projekt arbeiten

Am besten arbeitest du mit den Dateien in dem Projekt ganz normal weiter. Wenn du eine Aenderung gemacht hast klicke bei GitEye in der Uebersicht links auf den Namen des Repositorys in dem du gerade gerade gearbeitet hast. Um den Stand des lokalen Repositorys zu aktualisieren, klicke oben rechts auf 'Refresh'. Waehle bei den Karteikastenfaechern oben das Tab 'Git Files' aus. Hier kannst du dir unterschiedliche Dateimengen aus dem Projekt anzeigen lassen. Waehle 'Show Modified' um die die Dateien zeigen zu lassen, die du veraendert hast. Mit einem Rechtsklick auf den Dateinamen und der Auswahl 'Commit' kommst du direkt in den Commit Dialog. Trage eine Zusammenfassung deiner Aenderungen in die 'Commit message' ein, ueberpruefe Author und Commiter und waehle dann 'Commit and Push'.

Achte darauf dass du am Ende einer Arbeitsphase fuer alle Aenderungen das 'Commit and Push' ausgefuehrt hast. Dann werden bei der Option 'Show Modified' keine Dateien mehr angezeigt. Das Repository auf github ist auf dem neuesten Stand.

 Wird eine Datei, die eigentlich veraendert wurde, nicht als geaendert angezeigt versuche mal einen Klick auf 'Refresh' (oben rechts).

 

Arbeiten im Terminal

Das Arbeiten mit dem Terminal schaut erstmal komplizierter aus, dafuer muessen aber nur ein paar Befehle von hier in das Terminal gepastet werden und nicht irgendwelche Buttons in einer graphischen Oberflaeche gefunden werden. Ein ausführliches Tutorial für git gibt es hier.

git-repo initialisieren

Gehe in das Verzeichnis, in dem du mit dem Projekt arbeiten willst. Gib jetzt ein:

# git init

Um den Inhalt des Repositorys zu bekommen brauchst du noch die Adresse auf github. Gehe dazu auf die Seite des Repositorys. Fuer den Sandkasten ist das diese. Dort kann man zwischen HTTPS, SSH und Git Read-Only waehlen. Du brauchst SSH, fuer den Sandkasten heisst die Adresse Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! :Daedalus-TUM/Sandkasten.git

# git clone Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! :Daedalus-TUM/Sandkasten.git

legt jetzt eine lokale Kopie des Repositorys an.

Wenn dies das erste Mal ist, dass du auf diesem Rechner mit git arbeitest, solltest du auch

# git config --global user.name deinName

ausfuehren, damit die Commits mit deinem Namen und nicht mit einem vom System uebernommenen Nutzernamen ausgefuehrt werden. Um zu sehen was als Nutzername eingestellt ist, lass einfach den Namen weg:

# git config user.name

 

pull

Bevor du anfaengst zu arbeiten solltest du in dem Arbeitsverzeichnis immer einmal

# git pull

ausfuehren, um mit deiner lokalen Version auf dem neuesten Stand zu sein.

commit

Wenn du an dem Projekt eine Aenderung gemacht hast, fuegst du diese zum lokalen Repository hinzu, indem du einen Commit machst. Waehrend dem Commit wirst du nach einer Commit Message gefragt. Diese sollte kurz aber aussagereich sein. Am besten machst du fuer jeden Teilbereich den du aenderst einen neuen Commit, dann ist es fuer dich und andere im Nachhinein einfacher nachzuvollziehen was gemacht wurde.

Angenommen du hast an der Datei bla.txt eine Aenderung vorgenommen, die du jetzt commiten moechtest:

# git commit bla.txt

Daraufhin oeffnet sich ein Editor, in dem nach der Commit Message gefragt wird. Nachdem diese eingetragen wurde wie im Editor ueblich abspeichern und den Editor beenden. Damit wurde die Aenderung commited.

Bevor du deine ersten commit auf einem System machst, ist es empfehlenswert den Editor einzustellen, zB vim, emacs oder gedit.

# git config --global core.editor vim

 

push

Wenn du den Text zum Commit aufmerksam gelesen hast, wirst du gemerkt haben, dass der Commit eine Aenderung nur lokal speichert. Um die Aenderung dann in das Repository auf github zu uebernehmen muss noch ein

# git push

ausgefuehrt werden. Ein push kann auch erst nach mehreren commits passieren, wichtig ist aber dass am Ende einer Arbeitsphase auf jeden Fall gepusht wird, damit das Repository auf github in deiner Arbeitspause auf dem gleichen Stand ist wie du. Solltest du dann von einem anderen Rechner weiterarbeiten, oder jemand anders am gleichen Projekt weiterarbeiten, gibt es auf github immer die aktuellste Version der Arbeit.

Dateien hinzufuegen

Wenn du Dateien neu anlegst, musst du sie mit

# git add dateiname

zu dem Repository hinzufuegen, bevor du sie committen kannst. Ausserdem muss in git Repositorys darauf geachtet werden, dass rm, mv, .. mit Vorsicht verwendet werden sollten:

Benutze statt mv das Kommando git mv, damit die Aenderung auch im Repository ankommt, etc.

ssh-key eintragen

Um nicht jedes Mal den Nutzernamen und das Passwort eingeben zu muessen, kannst du unter deinem git-account einen ssh-key eintragen. Dazu einfach im lokalen .ssh ein

# ssh-keygen -f beispielname

ausfuehren (beispielname kann natuerlich mit einem Namen deiner Wahl ersetzt werden). Dabei wirst du nach einem Passwort gefragt. Wenn du kein Passwort setzen willst, druecke einfach Enter ohne etwas einzugeben. Jetzt gibt es im ~/.ssh zwei Dateien, beispielname und beispielname.pub. Die Datei beispielname solltest du niemandem mitteilen, sie ist der geheime Teil des Schluessels. Der Inhalt der Datei beispielname.pub wird jetzt auf github eingetragen.

Gehe dazu auf github in deine 'Account Settings' und waehle links die Option 'SSH-Keys'. Wenn du dann oben rechts auf Add SSH Key klickst, kannst du unten den neuen Key eintragen. Dazu unter 'Title' 'beispielname' eingeben, und dann im Feld darunter den Inhalt von beispielname.pub per copy+paste eintragen. Dabei darauf achten, dass beim copy+paste nichts veraendert wird, also dass keine Leerzeichen, Zeilenumbrueche etc. hinzukommen.

Um zu testen ob alles geklappt hat, probiere das Kommando

# ssh -vT Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!

in dem Verzeichnis des Repositorys. Sollte es hier zu Fehlern kommen musst du wahrscheinlich noch den Pfad zum SSH-Key angeben:

# ssh-add ~/.ssh/beispielname

 

 Repositories anlegen

Ein Repoistory fuer ein neues Projekt wird ueber github angelegt. Klicke dazu nach dem Anmelden oben rechts auf das Symbol fuer 'create new repo'. Stelle als 'owner' den Daedalus-TUM account ein, und gib daneben den Namen des neuen Repos ein - fertig. Wenn du moechtest kannst du noch eine Beschreibung hinzufuegen.