Vorgehensweise mit dem neuen Branching, wenn die Änderung auf beiden Branches, sprich AWT und Master verfübar sein soll:
Um mit der Bearbeitung eines neuen Bugs beginnen zu können, müssen zuerst alle Sourcen vom master gezogen werden.
$ git checkout master && git pull origin master
Anschließend erstelle ich mir einen lokalen Branch (siehe Dev-Blog Eintrag), mache dort meine Änderungen und pushe diese zum remote.
$ git checkout -b bugfix/12345--beschreibung
$ <commit>
$ git push origin bugfix/12345--beschreibung -u
Jetzt wechsle ich den Branch, auf AWT, ziehe mir dort alle Sourcen.
$ git checkout release/0.2.0_AWT2015 && git pull origin release/0.2.0_AWT2015
Erstelle einen lokalen Branch, mit dem gleichen Namen + postfix --awt
.
$ git checkout -b bugfix/12345--beschreibung--awt
Anschließen hole ich mir nur die Änderungen des Commits auf den Master in meinen lokalen Branch (Cherry-picking). Dazu benötigen wir die entsprechenden Commit SHAs (IDs) der Commits eurer Änderungen (siehe 2). Eine ID sieht beispielsweise so aus: b7338efd92dd7b66ece465bc35c17d2bde24c9c1
. Diese findet Ihr unter https://git.mps.gmbh/K1/shell/commits/<branch-name>/
. Jeder Commit muss einzelne gepicked werden.
$ git cherry-pick <commit-SHA>
Falls Konflikte bei cherry-pick auftreten, müssen diese behoben und commited werden.
Jetzt pushe ich diese Änderungen auf den remote und erstelle entsprechend meine beiden MergeRequest.
$ git push origin bugfix/12345--beschreibung--awt -u