Heim Entwicklungswerkzeuge Idiot So löschen Sie historische Commits in Git

So löschen Sie historische Commits in Git

Apr 26, 2023 am 09:16 AM

In den letzten Jahren ist Git als leistungsstarkes Tool zur Versionskontrolle bei Entwicklungsteams immer beliebter geworden. Allerdings kann es bei der Verwendung von Git manchmal zu fehlerhaften Commits kommen, die sich negativ auf das Projekt auswirken können. Das Löschen dieser historischen Commits ist zu einem Problem geworden, mit dem Git-Benutzer häufig konfrontiert sind. In diesem Artikel erfahren Sie, wie Sie historische Commits in Git löschen.

1. Git-Einreichungsverlauf

Der Git-Einreichungsverlauf besteht aus vielen Einsendungen. Immer wenn Sie in Git einen Commit durchführen, wird ein neuer Commit erstellt. Jede Einreichung verfügt über eine eigene Kennung (SHA) und enthält Informationen wie den Autor der Einreichung, das Datum und die Beschreibung der Einreichung.

Sie können den Commit-Verlauf in Git über die Git-Befehlszeile oder das Git-Client-Tool anzeigen. Über die Git-Befehlszeile können Sie beispielsweise den Commit-Verlauf dieses Projekts mit dem folgenden Befehl anzeigen:

git log
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dieser Befehl listet alle Commits im aktuellen Zweig in umgekehrter Reihenfolge auf. Jeder Commit hat seinen eigenen SHA, den Namen und die E-Mail-Adresse des Committers, das Commit-Datum und die Commit-Nachricht.

2. Warum historische Einreichungen löschen? Im Prozess der kollaborativen Entwicklung gibt es viele menschliche Faktoren, die zur Entstehung fehlerhafter Einreichungen führen. „Schlechte Einsendungen“ sind Einsendungen, die Fehler, Sicherheitslücken, vertrauliche Informationen usw. enthalten können. Wenn diese fehlerhaften Commits in den Hauptzweig integriert wurden, kann dies negative Auswirkungen auf andere Teile des Projekts haben.

Wenn Sie darüber hinaus Inhalte angeben, die andere vor der Übermittlung des Codes nicht sehen sollen, wie z. B. Passwörter, API-Schlüssel und andere vertrauliche Informationen, können diese nach der Übermittlung offengelegt werden. Derzeit ist das Löschen historischer Übermittlungen eine Möglichkeit, die Privatsphäre der Benutzer zu schützen.

3. So löschen Sie historische Commits in Git

In Git gibt es zwei Möglichkeiten, historische Commits zu löschen: den Verlauf neu zu schreiben und den Filtermechanismus von Git zu verwenden.

Verlauf neu schreiben
  1. Das Umschreiben des Verlaufs wird tatsächlich durch Ändern historischer Commits erreicht. Dies bedeutet, dass Änderungen und Neuanordnungen an bereits veröffentlichten Commits vorgenommen werden. Im Folgenden finden Sie die Schritte zum Löschen des Git-Commit-Verlaufs:

(1) Verwenden Sie den folgenden Befehl, um den Commit-Verlauf anzuzeigen:

git log
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

(2) Suchen Sie den SHA des Commits, den Sie löschen möchten, und zeichnen Sie ihn auf.

(3) Verwenden Sie den folgenden Befehl, um den Verlauf neu zu schreiben. Ersetzen Sie in diesem Befehl SHA durch den SHA des Commits, den Sie löschen möchten:

git rebase -i SHA^
Nach dem Login kopieren

Dieser Befehl öffnet einen Editor mit einer Liste aller Commits seit dem letzten Commit des ausgewählten Commits.

(4) Ändern Sie das „Pick“ vor dem Commit, das Sie löschen möchten, in „Drop“ oder kommentieren Sie die Zeile mit einem Nummernzeichen aus. Speichern und schließen Sie den Editor.

(5) Führen Sie den folgenden Befehl aus, um das Überschreiben der Commits in Git zu erzwingen:

git push --force
Nach dem Login kopieren

Abschließend können Sie mit dem folgenden Befehl überprüfen, ob Sie den Commit-Verlauf erfolgreich gelöscht haben:

git log
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie den Filtermechanismus von Git
  1. In Git, der Befehl filter-branch, kann Ihnen beim Löschen des Commit-Verlaufs helfen. Dieser Befehl kopiert das gesamte Repository und wendet den angegebenen Filter auf jedes Commit an. Im Folgenden sind die Schritte aufgeführt, um den Filtermechanismus von Git zum Löschen des Git-Commit-Verlaufs zu verwenden:

(1) Verwenden Sie den folgenden Befehl, um ein Kopie-Repository zu erstellen:

git clone --mirror <Git URL>
Nach dem Login kopieren

(2) Verwenden Sie den folgenden Befehl, um das Kopie-Repository aufzurufen:

cd <repository name>.git
Nach dem Login kopieren

(3) Verwenden Sie den folgenden Befehl, um historische Commits zu löschen:

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch <filename>" --prune-empty --tag-name-filter cat -- --all
Nach dem Login kopieren

Dieser Befehl wird verwendet, um die historischen Commits der Datei mit dem Namen zu löschen. Dieser Befehl kann nach Bedarf geändert werden. Hier wird --tag-name-filter cat zum Korrigieren von Tags verwendet. Abschließend wird dieser Befehl auf alle Zweige angewendet.

(4) Verwenden Sie den folgenden Befehl, um die Änderungen in das Git-Repository zu übertragen:

git push --all --force
Nach dem Login kopieren

Abschließend können Sie mit dem folgenden Befehl überprüfen, ob der Commit-Verlauf erfolgreich gelöscht wurde:

git log
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

IV Zusammenfassung

Durch Umschreiben des Mit dem Verlauf oder der Verwendung des Git-Filtermechanismus können Sie historische Commits in Git löschen. Bevor Sie jedoch den Commit-Verlauf löschen, sollten Sie sorgfältig darüber nachdenken und sicherstellen, dass alle Teammitglieder die Auswirkungen der Änderung verstehen. Darüber hinaus sollten Git-Repositorys regelmäßig bereinigt werden, bevor Änderungen zusammengeführt werden, um den Speicheraufwand zu reduzieren.

Das obige ist der detaillierte Inhalt vonSo löschen Sie historische Commits in Git. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie GIT -Management -Tools für die vollständige Verwendung von GIT -Management -Tools So verwenden Sie GIT -Management -Tools für die vollständige Verwendung von GIT -Management -Tools Mar 06, 2025 pm 01:32 PM

Dieser Artikel bietet einen Leitfaden zum Git -Management, der Abdeckung von GUI

So lösen Sie das Versagen der Einreichung von GIT -Verpflichtungen So lösen Sie das Versagen der Einreichung von GIT -Verpflichtungen Mar 06, 2025 pm 01:38 PM

Dieser Artikel befasst sich mit allgemeinen Git -Commit -Fehlern. Es wird beschrieben, dass Schritte für Probleme wie nicht zusammengezogene Dateien, nicht gestrichene Änderungen, Zusammenführungskonflikte und Pre-Commit-Haken beheben. Es werden Lösungen und vorbeugende Maßnahmen vorgesehen, um eine glattere Git WO zu gewährleisten

So sehen Sie Inhalte begehen So sehen Sie Inhalte begehen Mar 06, 2025 pm 01:41 PM

In diesem Artikel werden Methoden zum Anzeigen von Git -Commit -Inhalten beschrieben. Es konzentriert sich auf die Verwendung von Git Show, um Commit -Nachrichten, Autoreninformationen und Änderungen (Diffs), Git -Protokoll -P für mehrere Diffs von mehreren Commits zu zeigen, und warnt davor, direkte Commits zu überprüfen. Alt

Der Unterschied zwischen Commit und Push of Git Der Unterschied zwischen Commit und Push of Git Mar 06, 2025 pm 01:37 PM

Dieser Artikel erläutert den Unterschied zwischen Gits Commit- und Push -Befehlen. Git Commit speichert Änderungen lokal, während Git diese festgelegten Änderungen in ein Remote -Repository hochladen. Der Artikel unterstreicht, wie wichtig es ist, dieses Aus Tag zu verstehen

Wie man das angegebene Commit treibt Wie man das angegebene Commit treibt Mar 06, 2025 pm 01:39 PM

In diesem Leitfaden wird erläutert, wie ein einzelner Git zu einem abgelegenen Zweig führt. Es wird beschrieben, dass ein temporärer Zweig verwendet wird, um das Commit zu isolieren, diesen Zweig in die Fernbedienung zu drücken und dann den temporären Zweig optional zu löschen. Diese Methode vermeidet Konflikte und

Der Unterschied zwischen Add und Commit of Git Der Unterschied zwischen Add und Commit of Git Mar 06, 2025 pm 01:35 PM

Dieser Artikel erläutert die unterschiedlichen Rollen von Git Add und Git Commit in Git. Git fügen Stadienänderungen hinzu und bereiten sie auf die Aufnahme in das nächste Commit vor, während Git Commit die inszenierten Änderungen in der Geschichte des Repositorys rettet. Dieser zweistufige Prozess ermöglicht

Was ist das Git -Code -Management -Tool? Was ist das Git -Code -Management -Tool? Mar 06, 2025 pm 01:31 PM

In diesem Artikel wird Git vorgestellt, ein verteiltes Versionskontrollsystem. Es zeigt die Vorteile von GIT gegenüber zentralisierten Systemen wie Offline -Funktionen und effiziente Verzweigung/Verschmelzung für eine verbesserte Zusammenarbeit. Der Artikel beschreibt auch das Erlernen von R.

So verwenden Sie das Tutorial für GIT -Management -Tools, um GIT -Management -Tools für Anfänger zu verwenden So verwenden Sie das Tutorial für GIT -Management -Tools, um GIT -Management -Tools für Anfänger zu verwenden Mar 06, 2025 pm 01:33 PM

In diesem Anfängerführer wird Git, ein Versionskontrollsystem, vorgestellt. Es deckt grundlegende Befehle (init, hinzufügen, begehen, status, Protokoll, Zweig, Kasse, Zusammenführen, Schieben, Ziehen) und Lösung von Zusammenführungskonflikten ab. Best Practices für den effizienten GIT -Gebrauch, einschließlich Clear Comm

See all articles