So löschen Sie historische Commits in Git
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
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- 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
(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^
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
Abschließend können Sie mit dem folgenden Befehl überprüfen, ob Sie den Commit-Verlauf erfolgreich gelöscht haben:
git log
- 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>
(2) Verwenden Sie den folgenden Befehl, um das Kopie-Repository aufzurufen:
cd <repository name>.git
(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
Dieser Befehl wird verwendet, um die historischen Commits der Datei mit dem Namen
(4) Verwenden Sie den folgenden Befehl, um die Änderungen in das Git-Repository zu übertragen:
git push --all --force
Abschließend können Sie mit dem folgenden Befehl überprüfen, ob der Commit-Verlauf erfolgreich gelöscht wurde:
git log
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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

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

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

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

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

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

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.

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
