Ich höre immer, dass es etwas Gruseliges ist und etwas, was ich niemals tun sollte. Im Folgenden sehen Sie beispielsweise, wie der Pull-Dialog in SourceTree aussieht:
Ich bin also neugierig, was passieren würde und wie schlimm wäre es, wenn ich Änderungen gepusht hätte, sie dann rebasiert und wieder gepusht hätte? Und wie kann ich das Repository reparieren, wenn ich es auf diese Weise kaputt mache?
Es würde nichts passieren, aber Ihr nächster Push wird nicht akzeptiert.
Es sei denn, Sie würden Push drücken. Dies würde auch das Remote-Repository nicht zerstören, also ist es auch nicht so schlimm.
Es wird schlecht, wenn mehr Leute dieses Repo verwenden. Das Umschreiben der Historie kann ein bisschen Chaos für andere verursachen, die neue Änderungen aus der Ferne ziehen. Vor allem, wenn sie kein gutes Wissen über Git haben. Es kann verschiedene Dinge geben, die passieren können, wenn eine Person einen umgeschriebenen Remote-Zweig in Abhängigkeit vom Status ihres lokalen Repositorys zieht.
Wenn also jemand an Feature X arbeitet und Sie den Code ändern, auf dem er seine Änderungen basiert hat, könnte er sich mindestens verärgert darüber ärgern, je nachdem, wie viel von seiner Arbeit Sie obsolet gemacht haben.
In dem Szenario, das Sie in SourceTree auflisten, referenziert SourceTree die lokalen Commits, die nicht auf die Änderungen, die Sie aus dem Remote ziehen, übertragen wurden.
Wenn Sie bereits Änderungen vorgenommen haben, bevor Sie diese Option verwenden, werden diese Änderungen nicht erneut erstellt, da sie bereits in der Remote vorhanden sind.
Die einzige Ausnahme kann sein, wenn Sie mehrere Fernbedienungen haben und Änderungen auf eine Fernbedienung übertragen haben, dann ziehen Sie sie von einer anderen Fernbedienung - das könnte ernsthafte Probleme verursachen.
Ob Sie während eines Pull-Vorgangs umlenken sollten oder nicht, ist ein Thema der Debatte. Ich empfehle es nicht, aber es ist im Allgemeinen sicher. Ссылка