So löschen Sie Commits aus einem Git-Zweig

So löschen Sie Commits aus einem Git-Zweig

In diesem Beitrag erfahren Sie, wie Sie Commits aus einem Git-Zweig löschen.,et

Die Idee hier ist, das Zurücksetzen des Arbeitsverzeichnisses zu erzwingen, um alle Commits zu entfernen, die nach dem angegebenen Commit kommen, und dann einen force push durchzuführen:

1
git reset –hard

Sie können über seine Abstammung auf ein Commit verweisen oder seinen vollständigen SHA-1-Hash verwenden oder den Teilhash angeben, der mindestens 4 Zeichen lang und eindeutig sein sollte.,

1
2
3
4

# Verwerfen Sie die ersten 4 Commits
git reset –hard HEAD~4

Wenn diese Commits im Remote-Repository vorhanden sind, müssen Sie den Hard Reset erzwingen zum Remote-Repository.,

1
2
3
4

# Force Push updates to the remote repository
git push

Here’s a live example:

Note, that any changes made in the working directory since the last commit are silently discarded., Um dies zu vermeiden, speichern Sie zuerst Ihre lokalen Änderungen, indem Sie den Befehl git-stash aufrufen, der wiederum das Arbeitsverzeichnis nach dem Speichern Ihrer lokalen Änderungen in die Revision HEAD zurücksetzt. git reset --hard HEAD wird häufig verwendet, um alle nicht festgeschriebenen Änderungen zu löschen, die dem neuesten Commit im Arbeitsverzeichnis entsprechen.

Falls Sie Ihre Arbeit behalten und das Commit nur rückgängig machen möchten, können Sie die Option --soft verwenden.,

1
git reset –soft

This is demonstrated below:

git revert

It is not a good idea to do a force push on a public or a shared repository; do a git-revert instead., Es erstellt ein neues Commit, das alle in einem bestimmten Commit vorgenommenen Änderungen rückgängig macht, und wendet es dann auf den aktuellen Zweig an.,iv id=“e6e72cc751″>

1
2
3
4
5
6
7

# Revert the commit 87859b5
git revert 87859b5
# Push to remote
git push

Here’s a live example:

Interactive Rebasing

Another plausible way of removing comments is using git-rebase command.,

1
git rebase-i

Die Ausführung des obigen Befehls öffnet einen Editor mit allen Commits in Ihrem aktuellen Zweig, die nach dem angegebenen Commit erfolgen. Um ein Commit zu löschen, ersetzen Sie einfach den Befehl ‚pick‘ durch ‚drop‘ und schließen Sie den Editor. Sie können auch einfach die passende Zeile löschen.,

Der folgende Befehl entfernt ein ganzes Commit e78d8b1 auf einmal mit --rebase-merges Modus mit --onto Option.,

1
git rebase -r –onto e78d8b1^ e78d8b1

(20 votes, average: 5.,00 von 5)

Danke fürs Lesen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.