Aufgabe: Arbeiten im Team an einem Projekt
In dieser Aufgabe wird die Zusammenarbeit an einem gemeinsamen Projekt ohne Merge-Konflikte simuliert. Dazu führt jedes Team-Mitglied die nachfolgenden Aktionen auf seinem Rechner aus. Der Lead Developer legt fest, wer welchen Teil in welcher Datei ändern soll.
Die Schritte 1 bis 5 sind Einzelaufgaben, die jeder Ninja selbständig lösen muss/kann. Schritt 6 ist eine Teamaufgabe und muss ebenfalls für jeden Feature-Branch ausgeführt werden.
Schritt 1: Neuen Branch auschecken
- Starte IntelliJ.
- Wechsle zum ersten Projekt (Menu › File › Recent Projects).
- Aktualisiere den lokalen Stand von Git (Menu › Git › Fetch).
- Checke den oben erstellten Branch aus (Menu › Git › Branches…).
Schritt 2: Dateien mit ausschliessen
Das Verzeichnis .idea soll von der Versionsverwaltung ausgeschlossen werden. Nutze dazu den passenden Eintrag aus dem Git-Menu.
Schritt 3: Unterschiedliche Dateien bearbeiten
Jedes Teammitglied bekommt vom Lead-Developer eine andere Datei für Änderungen zugewiesen bzw. wählt eine Datei aus. Es werden nur kleine Änderungen vorgenommen, wie z.B.
- zusätzliche Ausgabe über System.out.println,
- Auslagern von Code in eine eigene Methode,
- oder kleinere Verbesserungen.
Durch die Änderungen sollten keine zusätzlichen Fehler im Programm eingebaut werden, es können aber bekannte Fehler behoben werden. Für die Änderungen sollte nicht mehr als eine halbe Stunde Zeit benötigt werden.
Schritt 4: Änderungen auf den Branch pushen
Nun sollen die Änderungen committed und auf den remote Feature-Branch gepusht werden. Gehe dazu in IntelliJ auf
- Git › Commit im Menu
- oder Git › Push über das Kontextmenu auf dem Projekt.
Wähle unter Changes die geänderten Dateien aus und übertrage sie mit Commit and Push… in das lokale und remote Git-Repository.
Schritt 5: Pull Request erstellen
Gehe in Bitbucket (Browser) auf den FeatureBranch und
- erstelle einen Pull Request (Pull Requests oder Pull-Anfragen in der Seitenleiste),
- achte dabei darauf, das du
develop
als Zielbranch ausgewählt hast und - kontrolliere den Pull Request auf Konflikte.
Schritt 6: Zusammenführen
Dieser Schritt muss mindestens vom Besitzer des Feature-Branches und vom Lead Developer gemeinsam bearbeitet werden. Es wird aber empfohlen, dass jeweils alle Team-Mitglied teilnehmen, um den Merge-Vorgang in Bitbucket zu üben.
- Ruft den Pull Request in Bitbucket auf.
- Vergleicht die Codeänderungen des aktuellen Pull Requests zum Stand von
develop
via diff. - Fügt mindestens ein Team-Mitglied als Prüfer hinzu. (Achtung das kann nicht der Ersteller des Pull Requests sein!)
- Genehmigt nun als Prüfer den Pull Request (grüner Button).
- Mergt den Pull Request (sofern dies nicht automatisch startet).