Was ist „unser“ und „ihr“ beim Git-Rebase?

Lesezeit: 2 Minuten

Ich habe die folgenden Befehle angewendet, habe aber wenig Verwirrung bei der Rebase – was ist unser und ihr in den folgenden Befehlen

git checkout app/dashboard-sprint-5
git rebase app/demandware

Ich weiß, dass der aktuelle Zweig ist app/dashboard-sprint-5 und wenn ich die rebase anwende.

app/dashboard-sprint-5 wird auf die Oberseite aufgetragen app/demandware.

Was ist ours und theirs in Bezug auf Filialen.

Ich habe den Link überprüft, bin aber nicht zufrieden

mmelniks Benutzeravatar
mmelnik

Kurz gesagt, wenn wir über Rebase sprechen, ours bedeutet den Basiszweig.

Also in deinem Fall ours wird sein app/demandwareda git uns zuerst dorthin verschiebt und dann Änderungen von der anwendet app/dashboard-sprint-5was sein wird theirs.

Zum Beispiel hier die Notiz von Dokumentation über rebase und ours Wort:

Da git rebase jeden Commit aus dem Arbeitszweig über dem -Zweig unter Verwendung der angegebenen Strategie wiederholt, verwendet er die unsere Strategie verwirft einfach alle Patches aus dem , was wenig Sinn macht.

  • Dies ist buchstäblich das erste Mal, dass dies für mich Sinn macht, und ich löse seit Jahren Konflikte. Ich wähle immer die falsche Option, aber jetzt nicht mehr.

    – CodeMonkeyG

    16. September 2018 um 0:20 Uhr

Um sich die Richtung leicht merken zu können unsere und ihrestellen Sie sich das Rebasing als Rosinenpickerei für jeden Commit des aktuellen Zweigs auf den Zielzweig vor.

Before rebasing:
    A--B--C (master)
       '--D--E (devel, HEAD)

Reset HEAD to master:
    A--B--C (master, HEAD)
       '--D--E (devel)

Cherry-pick D, E.
    A--B--C (master)
       |  '-- D'--E' (HEAD)
       '--D--E (devel)
HEAD becomes "ours" and the old devel branch "theirs".
              ^^^^                            ^^^^^^

On success, repoint devel to E':
    A--B--C (master)
          '--D'--E' (devel, HEAD)

Bei einem nicht-interaktiven Rebase, das ohne Konflikte durchgeht, sieht es so aus, als würden wir direkt von der alten Entwicklung-Zweig-Historie zur rebasierten Entwicklung-Zweig-Historie springen. In dieser Ansicht ist die Umkehrung von unsere und ihre ist nicht offensichtlich, was zu potenzieller Verwirrung führt, insbesondere auch bei der Auflösung von Merge-Konflikten – es ist einfach ein bisschen unerwartet, dass der Branch, von dem wir ausgegangen sind, von Merge-Tools plötzlich als “Remote-Branch” bezeichnet wird.


Obwohl diese Frage bereits beantwortet wurde, füge ich diese eher visuelle Erklärung hinzu, da ich es schwierig fand, mich ohne das Ergebnis zu erinnern.

1429210cookie-checkWas ist „unser“ und „ihr“ beim Git-Rebase?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy