Git Verzweigen / Rebasing gute Praktiken

8

Ich habe ein folgendes Szenario:

3 Zweige:
- Meisterin - MyBranch hat den Master abgezweigt, um ein neues Feature des Systems zu entwickeln - MyBranchLocal verzweigt von MyBranch als meine lokale Kopie der Zweigstelle

MyBranch wird gegen andere Entwickler requalifiziert und von ihnen gedrängt (die an derselben Funktion arbeiten wie ich).

Als Besitzer der MyBranch-Zweigstelle möchte ich sie durch Rebasieren mit dem Master synchronisieren. Ich muss auch die Änderungen, die ich an MyBranchLocal mit MyBranch mache, zusammenführen.

Was ist ein guter Weg, das zu tun?

Ein paar mögliche Szenarien, die ich bisher versucht habe:

Ich.
1. Übernehmen Sie die Änderung in MyBranchLocal
2. Rebase MyBranch gegen Master
3. Rebase MyBranchLocal gegen MyBranch
4. Merge MyBranch mit MyBranchLocal

II.
1. Übernehmen Sie die Änderung in MyBranchLocal
2. Merge MyBranch mit MyBranchLocal
3. Rebase MyBranch gegen Master
4. Rebase MyBranchLocal gegen MyBranch

III.
1. Übernehmen Sie die Änderung in MyBranchLocal
2. Rebase MyBranch gegen Master
3. Merge MyBranch mit MyBranchLocal
4. Rebase MyBranchLocal gegen MyBranch

Ich weiß bereits, dass Szenario III die Commit-Geschichte sehr durcheinander bringt und möglicherweise Commits dupliziert.

Was ist Ihre Erfahrung? Welche Szenarien empfehlen Sie, den Zusammenführungsaufwand zu minimieren und die Historie sauber zu halten?

    
Paweł Krupiński 08.04.2010, 17:13
quelle

2 Antworten

4

Mein persönlicher Vorschlag. Dieser Bereich konzentriert sich auf einen reinen Commit-Verlauf und auf die "spezifischeren" Zweige (Sie sollten Ihren lokalen Zweig besser durcheinander bringen als den Feature-Zweig).

  1. Übernehmen Sie die Änderung in MyBranchLocal
  2. Rebase MyBranchLocal gegen MyBranch
  3. Merge MyBranch mit MyBranchLocal (sollte schnell vorwärts gehen) - MyBranch = Local
  4. Rebase MyBranch gegen den Meister
    1. (optional) Merge Master mit MyBranch (sollte auch schnell sein)
  5. Rebase MyBranchLocal gegen MyBranch
Samuel Carrijo 08.04.2010, 17:21
quelle
4

Ich habe diese Frage nach dem Link zu Linus E-Mail gefunden. Laut E-Mail - solltest du dich nicht neu anmelden, nachdem du deinen Verlauf auf einer öffentlichen Seite veröffentlicht hast, weil du die Geschichte anderer Personen zerstören kannst. Also, Rebase für MyBranchLocal ist OK, aber für MyBranch (freigegeben mit anderen Entwicklern) ist nicht.

    
Vadim Ponomarev 09.04.2012 08:04
quelle

Tags und Links