Es gibt einen Master-Zweig namens develop
. Und ein Zweig (feature_branch_1
) stammte aus der Entwicklungsbranche. Ich mache Änderungen in der feature_branch_1
. Sagen wir, ich werde zwei Wochen lang an feature_branch_1
arbeiten. Und ich jeden Tag meine brauchen feature_branch_1
mit den Zweig Änderungen entwickeln synchronisiert ist (develop
Zweig Änderungen von anderen begangen haben, und ich brauche, jene Änderungen haben, so dass meine feature_branch_1
wird nicht viel von der develop
Zweig abgewichen werden und ich weiß, was in develop
Zweig geschieht auch)So halten Sie eine Git Sub-/Feature-Zweig-Synchronisation mit einem Master-Zweig mithilfe von Rebase
ich versuchte git rebase develop
für diesen Zweck wie unten zu verwenden,
git checkout develop
git pull
git checkout feature_branch_1
git rebase develop
zuerst war es gut, aber wenn machte ich mehr Änderungen an der feature_branch_1
Rebasieren wird mehr Konflikte einführen. (Es sagt mein eigenes Commit Konflikte miteinander, Es ist kann bedeuten, dass zwei meiner Commits die gleiche Zeile in der gleichen Datei geändert, und Git weiß nicht, welche Änderung anwenden) Und Auflösung, die ist ziemlich viel schwierig und zeitaufwendig.
Mache ich es falsch mit Rebase? Wie kann ich meine feature_branch_1
mit dem develop
Zweig synchronisiert ist immer (mindestens müssen innerhalb letzten 24 Stunden mit den neuesten Änderungen synchronisiert werden)
HINWEIS: ich auch andere verwandte SO Fragen geprüft. Ohne Verwendung von Rebase können wir das tun. unten wie
git checkout develop
git pull
git checkout feature_branch_1
git merge develop
und danach,
git push origin/feature_branch_1
Ich kann dies jeden Tag tun und halten meine feature_branch_1
mit develop
synchronisiert. Gibt es eine Möglichkeit, dies mit rebase
zu tun, ohne dass meine eigenen Commits miteinander in Konflikt stehen?
Die kurze Antwort ist nein, Sie können dies beim Rebasing nicht vermeiden.Die lange Antwort ist, dass Sie dies möglicherweise vermeiden können, indem Sie einfach "git merge" anstelle von rebase verwenden. Grob gesagt, ist die Reibung zwischen den Zweigen "develop" und "feature_branch_1" immer vorhanden und sollte sich unabhängig vom ausgewählten Arbeitsablauf manifestieren. –
@TimBiegeleisen Also wäre es vielleicht keine gute Idee, Rebase für die Synchronisation zu verwenden. – prime
Überhaupt nicht, eigentlich bevorzuge ich das Rebasing aus vielen Gründen. Aber das Synchronisieren wäre technisch etwas komplexer, man müsste sich gut mit Rebasing beschäftigen. –