Ich verwalte ein Git-Repository und nur Schreibzugriff auf den Master-Zweig. Ich habe meinen Kollegen gebeten, seinen eigenen Zweig zu gründen und irgendwelche Änderungen an diesen Zweig zu schieben, und ich werde sie auf den Meister übertragen. Jetzt sind hier meine Szenarien:Git Rebasing Filialen
Mein Kollege überprüft Zweig A und macht mehrere Commits. Ich arbeite weiter in der Meisterbranche. Der Kollege schiebt Änderungen an das Repository und ich rebase sie auf Master. Ich arbeite weiter an Master-Zweig, während mein Kollege arbeitet weiter an A.
Nun ist meine Frage, ob Kollege A nach der Rebase löschen und einen neuen Zweig erstellen oder kann er weiter arbeiten auf A? Muss er den neuen Master mit A zusammenführen, bevor er nach der Rebase weiterarbeitet?
A
| \
| \
B D
| |
C E
| /|
H/F
| |
I G
bearbeiten als Antwort auf Tims Antwort für die Formatierung:
Dies ist aber nicht mein Szenario. branchA integriert niemals Änderungen vom Master. Also im Grunde:
master: ... A -- B
branchA: ... A -- C
und dann:
master: ... A -- B -- C'
branchA ... A -- C
Hinweis branchA
bleibt unverändert. Ist es jetzt sicher, weiter an branchA
zu arbeiten?
Sie scheinen sehr verwirrt darüber, was Rebasing und Merging sind. In Ihrem aktualisierten Diagramm hat _no_ rebasing stattgefunden. Sie sollten entweder _rebase_ von Ihrer Frage streichen oder uns sagen, was Sie hier wirklich tun. –
Wie stellen Sie fest, dass kein Rebasing stattgefunden hat? Ich habe die Commits von 'branchA' auf' master' rebasiert, wodurch 'C'erzeugt wurde? –
Das ist keine Rebase, es ist entweder eine Zusammenführung oder ein Cherry-Pick. Und normalerweise würden Sie nicht 'Master' auf' branchA' rebasieren, das ist komisch. Sie würden "branchA" auf "master" umlenken und dann "master" mit "branchA" vorspulen. Meine Antwort erklärt das recht gut. –