Ziel dieses Tutorials ist es Sie mit einem professionellen Entwicklungsprozess vertraut zu machen.
Viele Unternehmen verwenden den sogenannten Gitflow, bei dem der master
Branch stets aktuell ist, und Features (oder Bugfixes) auf jeweils separaten Branches entwickelt werden.
Ziel dieser Übung ist es Sie mit git
und IntelliJ vertraut zu machen.
Es gibt ein ca. 15-minütiges webbasiertes Tutorial, welches Sie umbedingt machen sollten, sowie ein sehr detailliertes Buch zu Git, welches ein ideales Nachschlagewerk ist.
In dieser Übung werden Sie das Grundschema der nächsten Übungen kennenlernen und verinnerlichen. Dazu werden Sie
- einen persönlichen Fork dieses Repositories erstellen,
- das Projekt in IntelliJ auschecken,
- einen eigenen Branch erstellen,
- das Problem finden, warum die Testcases fehlschlagen,
- Ihre Lösung committen und pushen, und abschliessend
- den Branch mit Ihrer Lösung in den
master
Branch mergen.
Hinweis: Es ist nicht zwingend notwendig für jede Übung einen Fork zu erstellen, jedoch ist es hilfreich, wenn Sie Ihre Arbeit auf Github sichern oder mit Kommilitonen zusammenarbeiten möchten.
Hinweis: Sollten Sie keinen kostenlosen Github Account wünschen, so können Sie die Angaben zwar anonym auschecken, aber weder einen Fork erstellen, noch Änderungen pushen.
Siehe separate Dokumentation.
Windows: Siehe separate Dokumentation.
OS X: Sie können auch die XCode Command Line Tools installieren.
Linux: Verwenden Sie am besten den Paketmanager Ihrer Distribution.
- Öffnen Sie die Webseite des Repository https://github.com/hsro-wif-prg2/tutorial, und loggen Sie sich ein.
- Klicken Sie rechts oben auf die Schaltfläche "Fork", um einen privaten Fork zu erstellen.
- Starten Sie IntelliJ; sollten Sie noch ein Projekt geöffnet haben, so schließen Sie es bitte.
- Klicken Sie "Checkout from Version Control" und dann "Git".
- Geben Sie die Adresse Ihres forks an, z.B. https://github.com/sikoried/tutorial (Hinweis: Die URL muss Ihren Accountnamen enthalten!)
- Wählen Sie "Ja" bzw. "Yes" um eine IDEA Struktur anzulegen.
- Wählen Sie im nächsten Fenster ("Import Project") die Option "Import project from external model" sowie "Gradle".
- Übernehmen Sie im nächsten Fenster alle Standardeinstellungen.
Hinweis: Sie können auch das offizielle Repository klonen, dann können Sie aber nicht pushen (Sie besitzen keine Schreibrechte).
Das Projekt im master
Branch kompiliert zwar, allerdings schlägt der Testcase fehl.
- Navigieren Sie im Projektexplorer (linke Seite) zu
src/test/java/GreetingTest
, und öffnen Sie die Datei. - Klicken Sie den kleinen grünen Playbutton am linken Rand des Editorfeldes, auf Höhe des Klassennamens, und beobachten Sie die Ausgabe.
- Identifizieren, lokalisieren und beheben Sie das Problem (Hinweis: Die Testklasse soll natürlich nicht verändert werden!).
- Verifizieren Sie dass der Test nun positiv durchläuft.
- Mit
git status
können Sie sehen, welche Dateien Sie geändert haben. - Erstellen Sie einen neuen Branch, entweder in der Konsole (
git checkout -b <branch-name>
), oder in IntelliJ: Rechts unten am Rand steht "Git: master", klicken Sie dort und wählen Sie "+ Create Branch", und wählen Sie einen Namen, z.B.loesung
. - Fügen Sie nun die korrigierten Dateien mit
git add <datei>
zu Ihrem geplanten Commit hinzu, oder rechts-klicken Sie auf die Klassendatei und wählen SieGit -> Add
. - Wenn Sie alle Dateien hinzugefügt haben, können Sie mit
git commit -m "Ihre freigewählte Nachricht"
den Commit abschließen und mitgit push
den Commit auf den Server laden, - Alternativ: Wählen Sie in der Menüleiste
VCS -> Commit Changes
, um die Änderungen zu committen und zu pushen. Fügen Sie eine Nachricht hinzu, und wählen Sie "Commit and Push" (bewegen Sie dazu die Maus auf "Commit", es erscheint ein PopUp)
Hinweis: Git Befehle können Sie auch in IntelliJ unter dem Reiter "Terminal" (Statusleiste unten) eingeben.
Hinweis: Dieser Teil funktioniert nur, wenn Sie einen eigenen Fork erstellt haben, ansonsten müssen Sie lokal mergen.
- Navigieren Sie auf die Webseite Ihres Forks, und klicken Sie auf "Branches".
- Klicken Sie nun für Ihren Branch auf die Schaltfläche "New pull request", um die Änderungen zum
master
branch zu begutachten und den Pull Request zu erstellen. - Auf der nächsten Seite (bzw. unter "Pull Requests") können Sie den Merge bestätigen, und so die Änderungen in Ihren
master
branch einbringen.
Gratulation, Sie haben Ihre erste Lösung eingebracht!
- Es kann sein, dass Sie die Speichereinstellung für die virtuelle Maschine ändern müssen:
- Dokumentation zum Embedded Local Terminal
- Einrichtung von Git in IntelliJ