Wir haben die folgenden Zweige:
master
und develop
.
Wir haben einen neuen Zweig feature
von develop
erstellt und ein Team zugewiesen, um daran zu arbeiten.
Während der Entwicklung:Git - Was ist die beste Vorgehensweise für Teamarbeit in einem Feature-Zweig?
- Fern
develop
nimmt neue Commits von anderen Teams. - remote
feature
akzeptiert neue Commits von den Teammitgliedern, die daran arbeiten.
Manchmal gibt es Hot Fixes zu develop
geschoben, die in feature
ebenfalls aktualisiert werden müssen.
Natürlich sollte am Ende des Zyklus feature
in develop
zusammengeführt werden.
Wir haben keinen einzigen Workflow, um feature
und seine lokalen Kopien synchron mit develop
zu halten und sicherzustellen, dass alle lokalen Kopien auf demselben Commit basieren.
Mein vorgeschlagenen Workflow ist wie folgt:
Keeping up-to-date mit develop
- New Commits geschoben werden
develop
ich rebase die
feature
Zweig:git checkout feature git pull --rebase origin develop git push origin feature
Alle lokalen
feature
Kopien laufen:git pull --rebase origin feature
Aktualisieren der feature
Niederlassung von lokalen Kopien
- Ein Teammitglied seine Arbeit an der
feature
Zweig - Er stellt sicher, dass seine lokale beendet hat Kopie ist auf dem neuesten Stand:
git pull --rebase origin feature
Er verschmilzt seine Commits in
feature
:git checkout feature git pull origin feature git merge local-feature git push origin feature
die feature
Niederlassung in develop
Merging ich sicherstellen, dass Funktion auf dem neuesten Stand ist mit
develop
:git checkout feature git pull --rebase origin develop
I verschmelzen zu
develop
:git checkout develop git pull origin develop git merge feature git push origin develop
Wir tun das alles pull --rebase
Zeug, um linearen Fluss zu halten und sicherzustellen, dass alle unsere Änderungen zusammengeführt werden mit vorspulen.
Wie Sie jedoch feststellen können, gibt es viele Befehle, die jedes Mal ausgeführt werden müssen.
Ist das wirklich notwendig? Machen wir es "richtig"?
Würden Sie einen anderen Fluss vorschlagen?
Sie können entwerfen/Ihre eigenen implementieren git-Befehle (oder git alliases). –
Check-out https://sandofsky.com/blog/git-workflow.html – Strikeskids
Ich würde sagen, dass 'git merge local-feature' redundant ist - wenn Sie ein Rebase der lokalen Kopie über remote 'Feature' machen Zweig - das sorgt schon für das Zusammenführen Ihrer Änderungen. – antweiss