Ich möchte mein lokales Git-Repository durch das Repository ersetzen, zu dem ich geforkt bin.

Ich möchte mein lokales Git-Repository durch das Repository ersetzen, zu dem ich geforkt bin.

Ich möchte nicht zusammenführen, denn hierin liegt das Problem.

Nehmen wir an, mein Repository sieht folgendermaßen aus: (Buchstaben sind Commits)

A B C D E F G

„A“ ist der Kopf. Und ich habe zwei Commits („E“ und „C“, die ich loswerden möchte). Wenn ich nur diese beiden Commits entferne, bekomme ich einfach zwei weitere Commits oben auf dem Kopf, die mir sagen, dass ich zwei Commits rückgängig gemacht habe. Das möchte ich nicht. Ich möchte, dass mein Repository genauso aussieht wie das Remote-Repository, zu dem ich geforkt bin.

Das Problem besteht darin, dass ich keine Arbeit erledigen kann, da jedes Mal, wenn ich ein Commit pushe, gleichzeitig auch die Commits „E“ und „C“ gepusht werden.

Ich brauche Hilfe. Ich habe unzählige Nachforschungen angestellt und jede Antwort, die ich finde, ist eine abstrakte Lösung/Reihe von Befehlen ohne Erklärung und ich kann nicht sagen, ob es das ist, was ich brauche.

Antwort1

Hast du es versucht:

git rebase -i A

Und verwerfen Sie die Commits C und E

Sie könnten jedoch ein Problem haben, da Sie sie zuvor auf die Remote-Site gepusht haben. Sie können den Verlauf nicht wirklich neu schreiben, wenn Sie bereits auf eine Remote-Site gepusht haben. Ich meine, Sie können, aber Leute, die nach Ihrem Push gezogen haben, werden ein Problem haben, da ihr Verlauf plötzlich nicht mehr mit dem Remote-Verlauf übereinstimmt.

verwandte Informationen