Frage

Ich habe ein folgendes Szenario vor:

3 Zweige:
- Master-
- mybranch aus Master verzweigt zum Zweck ein neues Merkmal des Systems
der Entwicklung - MyBranchLocal abgezweigt mybranch als meine lokale Kopie der Branche

mybranch wird umbasiert gegen und geschoben von anderen Entwicklern (die auf dem gleichen Merkmal arbeiten, wie ich bin).

Als Eigentümer des mybranch Zweig Ich mag es mit Meister synchron halten von Rebasing. Ich muss auch die Änderungen fusionieren ich mit mybranch zu MyBranchLocal machen.

Was ist ein guter Weg, das zu tun?

Paar möglicher Szenarien habe ich versucht, so weit:

ich.
1. Änderung Commit zu MyBranchLocal
2. Rebase mybranch gegen Meister
3. Rebase MyBranchLocal gegen mybranch
4. Merge mybranch mit MyBranchLocal

II.
1. Änderung Commit zu MyBranchLocal
2. Merge mybranch mit MyBranchLocal
3. Rebase mybranch gegen Meister
4. Rebase MyBranchLocal gegen mybranch

III.
1. Änderung Commit zu MyBranchLocal
2. Rebase mybranch gegen Meister
3. Merge mybranch mit MyBranchLocal
4. Rebase MyBranchLocal gegen mybranch

Ich weiß bereits, dass Szenario III die Commit-Geschichte bis viel durcheinander zu sein scheint, möglicherweise Commits duplizieren.

Was ist Ihre Erfahrung? Welche Szenarien empfehlen Sie das Verschmelzen Aufwand zu minimieren und die Geschichte sauber zu halten?

War es hilfreich?

Lösung

Mein persönlicher Vorschlag. Dieser eine gerade begehen Geschichte auf, die, und andernfalls auf den „speziellere“ Zweige konzentriert (solltest du besser vermasseln Ihre örtliche Filiale als die Feature-Zweig).

  1. Commit Änderung MyBranchLocal
  2. Rebase MyBranchLocal gegen mybranch
  3. Merge mybranch mit MyBranchLocal (sollte schnell nach vorne sein) - mybranch = Local
  4. Rebase mybranch gegen Meister
    1. (optional) Merge Master mit mybranch (sollte auch schnell nach vorn sein)
  5. Rebase MyBranchLocal gegen mybranch

Andere Tipps

Ich fand diese Frage nach dem Link zu Linus E-Mail . Nach E-Mail - Sie sollten nicht rebase, nachdem Sie Ihre Geschichte in einem öffentlichen Ort veröffentlicht, weil Sie andere Menschen Geschichte zerstören könnten. Also, Fütterungsmaterial für MyBranchLocal ist in Ordnung, aber für mybranch (gemeinsam mit anderen Entwicklern) nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top