Ich arbeite seit einiger Zeit an einem lokalen Zweig und mache nur gelegentlich ein paar Änderungen.
In der Zwischenzeit hat sich der Master Zweig erheblich weiterentwickelt. Ich habe mich entschieden, die neuen Änderungen im Master-Zweig in meinen lokalen Zweig zu übernehmen (der kaum Änderungen in Bezug auf den ursprünglichen Master-Commit hat, von dem ich abgezweigt habe):
%Vor%Aber dann warnt mich Git mit:
Bitte geben Sie eine Commit-Nachricht ein, um zu erklären, warum diese Zusammenführung notwendig ist. vor allem, wenn es einen aktualisierten Upstream in einen Zweigzweig zusammenfasst.
Das hat mich neugierig gemacht. Warum die Warnung? Soll ich stattdessen eine Rebase machen? oder ein cherry-pick ? Und abgesehen davon, wie würde ich eine Rebase oder eine Kirsche in meinem Fall verwenden?
Es gab eine Diskussion über den Wortlaut dieser genauen Nachricht mit git's Core Maintainer, weil du recht hast, es ist nicht sehr klar.
Die Programmierrichtlinien für Marionettenlabors liefern eine großartige Erklärung dafür, warum dies nicht optimal ist und bieten eine bessere Lösung:
Arbeiten sollten an Themenzweigen durchgeführt und mit no-ff zusammengeführt werden. Der Grund dafür ist, dass die GIT-Geschichte dann viel klarer wird. Der Zweig themenverzweigt gruppenbezogen ist sehr gut und das Zusammenführen mit no-ff behält diese Gruppierung im Verlauf bei.
Fügen Sie Ihren Upstream-Zweig nicht in Ihren Zweigzweig ein, wenn Sie ihn möglicherweise vermeiden können. Während dies ein Weg ist, Konflikte zwischen Ihrer Entwicklung und Entwicklung im Upstream-Zweig zu lösen, führt dies zu einer unreinen Historie - und insbesondere zu Codeänderungen in Merge-Commits, mit denen es äußerst schwierig zu arbeiten ist.
Wir würden es vorziehen, wenn Sie Ihren Zweig gegen den Upstream-Bereich aufrüsten, damit wir nicht mit diesem Chaos fertig werden, wenn Sie sich an externe Änderungen anpassen müssen.
Tags und Links git version-control