GIT Workflow - Geopras/IdeaWatcher GitHub Wiki
Wichtige Hinweise:
- In der Entwicklungsphase innerhalb eines Sprints soll nur im dev-Branch gearbeitet werden
- Sobald am Ende des Sprints im Review die Änderungen getestet wurden, werden sie in den master-Branch übernommen
- Der master-Branch soll möglichst nur den letzten, funktionierenden Stand beinhalten
- Wenn testweise Dinge ausprobiert werden sollen, dann soll dies in einem lokalen test-Branch geschehen, der jedoch auf GitHub nicht gepusht wird
- dev- und master-Branch können auf GitHub zum einen in der "Code"-Ansicht ausgewählt und zum anderen in der "Graphs"-Ansicht unter dem Menüpunkt "Network" vom Verzweigungsverlauf angesehen werden
- in Intellij kann der aktuelle Branch in der Fußleiste rechts unten kontrolliert und geändert werden (z.B. "Git: dev") -> nur die "Local Branches" sind von Interesse!
Mit folgenden GIT-Befehlen kann im dev-Branch gearbeitet werden:
- falls der dev-Branch noch nicht vorhanden ist:
git checkout -b dev
- ansonsten nur in den dev-Branch wechseln:
git checkout dev
- mit folgendem Befehl kann geprüft werden, in welchem Branch man sich befindet:
git branch
- den aktuellen Stand vom GitHub-Repository ziehen (immer bevor wieder gearbeitet wird!):
git pull
- Änderungen werden daraufhin eingecheckt:
git commit
- und in das GitHub-Repo gepusht:
git push
Sobald die Änderungen vom dev-Branch in den master-Branch übernommen werden sollen:
- erst in den master-Branch wechseln:
git checkout master
- dann den master-Branch mit dem dev-Branch abgleichen
git rebase dev
- und den aktualisierten master-Branch in das GitHub-Repo pushen:
git push
Wenn etwas testweise ausprobiert werden soll:
- wenn noch nicht vorhanden, neuen test-Branch anlegen:
git checkout -b test
- ansonsten nur in den test-Branch wechseln:
git checkout test
- test-Branch mit dev-Branch abgleichen:
git rebase dev
- Änderungen dort einchecken:
git commit
- wenn Änderungen aus dem test-Branch in den dev-Branch übernommen werden sollen, dann in den dev-Branch wechseln:
git checkout dev
- und den dev-Branch mit dem test-Branch abgleichen:
git rebase test
- und auf GitHub pushen:
git push
- um Änderungen zu verwerfen, muss nur der test-Branch wieder mit dem dev-Branch abgeglichen werden:
git checkout test
git rebase dev