541 Stimmen

Wie kann ich ein Git-Repository auf einen bestimmten Commit zurücksetzen?

Mein Repo hat im Moment 100 Commits. Ich muss das Repository auf Commit 80 zurücksetzen und alle nachfolgenden Commits entfernen.

Warum?

Dieses Repo ist für die Zusammenführung von verschiedenen Benutzern gedacht. Eine Reihe von Zusammenführungen wurden aufgrund exzessiver Bearbeitung als Commits von mir eingetragen. Das lag an einer falschen Kennzeichnung meiner Remote-Zweige, wo 3 Entwickler als einander gekennzeichnet waren. Ich muss zu diesem Punkt zurückkehren und dann vorwärts ziehen.

Ich wollte, wie in diesem Beispiel, eine neue Basis erstellen: Wie kann ich einen Commit auf GitHub entfernen?

Git will jedoch, dass ich eine Menge Konfliktmanagement betreibe. Gibt es einen einfacheren Weg?

3voto

Jianwu Chen Punkte 4635

In Github ist der einfachste Weg, den entfernten Zweig in der Github-Benutzeroberfläche auf der Registerkarte Zweige zu löschen. Sie müssen sicherstellen, dass die folgenden Einstellungen entfernt werden, damit die Verzweigung gelöscht werden kann:

  1. Keine Standardverzweigung
  2. Keine Anfragen zur Eröffnung der Umfrage.
  3. Der Zweig ist nicht geschützt.

Erstellen Sie es nun in Ihrem lokalen Repository neu, so dass es auf den vorherigen Commit-Punkt verweist, und fügen Sie es wieder dem Remote-Repository hinzu.

git checkout -b master 734c2b9b   # replace with your commit point

Dann pushen Sie den lokalen Zweig auf den entfernten

git push -u origin master

Fügen Sie die Standardverzweigung und den Verzweigungsschutz wieder ein, usw.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X