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