Programmierpraktikum SS’15
Annette Bieniusa
Git und Github
• Git ist ein dezentrales System zur Versionsverwaltung
– Jeder Kollaborateur hat seine eigene Kopie
– Änderungen erfolgen zunächst lokal (auch ohne Netzwerkzugriff)
– Später werden sie an einen Server übermittelt und so für die anderen zugänglich
• Github ist ein webbasierter Hosting-Dienst für
Git-Projekte
Typischer Workflow in Git
Working directory
Working
directory Staging areaStaging area Local repoLocal repo Remote repoRemote repo
git push git push git commit
git commit git add
git add
git fetch git fetch git fetch
git fetch git merge git merge
Wie arbeitet man mit Git?
• [Initialer Checkout: Heute gemeinsam]
1. git pull (damit der Workspace up-to-date ist) 2. Arbeit an dem Projekt
3. git commit + push (mit Commit-message, die beschreibt, was implementiert wurde)
– Falls fast-forward klappt: Fertig!
– Andernfalls: [rejected – non-fast forward]
• Pull Repository
• Automatischer oder manueller Merge (bei Konflikten)!
• git add
• git commit + push
– Video:
https://www.youtube.com/watch?v=HZEb0rZk4Y8
Voraussetzungen
• Eclipse
– Eclipse IDE for Java Developers – Version: Eclipse Luna SR2 4.4.2
• Java
– JDK 1.8
• Github-Account (Name + Passwort)
• Achtung: Eclipse verlangt u.U. eine ältere Java-Version;
in diesem Fall müssen mehrere JDKs installiert werden!
Setup: Git in Eclipse
• Hinzufügen des Github Accounts zu Eclipse:
– Window -> Preferences -> Team -> Git ->
Configuration
– Dort eintragen unter user:
• email: bieniusa@cs.uni-kl.de
• name: Annette Bieniusa
– Unter Git:
• Oben: Default repository folder: <Verzeichnis>
Anzeigen der Git toolbar unter Eclipse
• Window → Customize perspective...
• Auswählen von Git and Git Navigation Actions im Command Groups Availability tab.
• Menü hat jetzt einen Eintrag “Git” sowie
einige Buttons zusätzlich vorhanden
Initialer Checkout des Projekts
• File -> Import -> Git -> Projects from Git
• Dann: Clone URI
• Im Dialog “Source Git Repository”:
– URI:
https://github.com/SoftechUniKL/<ProjektName>.git – Protocol: https
– User und Password (+ Store in Secure Store)
Aufgabe
• Machen Sie sich mit dem Inhalt des Projektstubs vertraut!
– Welche Klasse übernimmt welche Aufgabe?
– Verwendete Libraries:
• Swing
[http://docs.oracle.com/javase/tutorial/uiswing/components/in dex.html]
• JFreeChart [http://www.jfree.org/jfreechart/]
• OpenCSV [http://opencsv.sourceforge.net]
• Erste Erweiterung: Hinzufügen von weiteren Ausgaben!