Heim Entwicklungswerkzeuge Idiot Git, klare Geschichte

Git, klare Geschichte

May 25, 2023 pm 06:35 PM

Git ist ein häufig verwendetes Versionskontrolltool, das in der Projektentwicklung weit verbreitet ist. Während der Projektentwicklung verwenden wir normalerweise verschiedene Git-Befehle zur Versionskontrolle und -verwaltung, einschließlich der Übermittlung von Code, dem Zusammenführen von Zweigen und anderen Vorgängen. In einigen Fällen müssen wir jedoch möglicherweise den Git-Verlauf löschen, z. B. um vertrauliche Informationen oder unnötige Commit-Datensätze zu löschen. Im Folgenden besprechen wir, wie man den Git-Verlauf löscht.

1. Backup

Bevor wir den Vorgang zum Löschen des Git-Verlaufs durchführen, müssen wir ein Backup erstellen, um Fehler oder unerwartete Situationen im Vorgang zu verhindern. Es ist wichtig, die aktuelle Codebasis an einem sicheren Ort zu sichern, damit wir unsere Codebasis bei Bedarf wiederherstellen können. Wir können den Verpackungsbefehl von Git verwenden, um das Projekt in einer komprimierten Datei zu sichern, zum Beispiel:

git archive --format zip --output backup.zip HEAD
Nach dem Login kopieren

Dieser Befehl packt die aktuelle Codebasis in eine ZIP-Datei und speichert sie in backup.zip.

2. Löschen Sie den Verlauf

  1. Verwenden Sie den Befehl, um den Verlauf einer einzelnen Datei zu löschen

Löschen Sie die Verlauf einer einzelnen Datei Die Aufzeichnung ist ein relativ einfacher Vorgang, um dies zu erreichen:

$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch path/to/file' --prune-empty -- --all
Nach dem Login kopieren

Dieser Befehl löscht die Zieldatei vollständig aus dem Verlaufsdatensatz. Unter diesen stellt path/to/file den zu löschenden Dateipfad dar. path/to/file 表示要清除的文件路径。

  1. 使用命令清除 commit 的历史纪录

有时候,我们需要删除某个 commit 及其之后的历史纪录。为此,我们可以使用 Git 的 rebase 命令来实现。具体来说,我们需要执行以下步骤:

1)使用以下命令展示项目中所有的 commit

$ git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
Nach dem Login kopieren

这个命令会显示项目中所有的 commit 记录。

2)决定要清除的 commit 的 SHA 值

我们需要查找要删除 commit 的 SHA 值,可以从下面的 commit 日志中获取:

commit 55d4d98de4caf2ac1a8f783624c58e533500f3d7
Author: John Doe <john@doe.com>
Date:   Fri Apr 30 16:01:07 2021 -0700

    Added new feature
Nach dem Login kopieren

上述示例中的 commit SHA 值是 55d4d98de4caf2ac1a8f783624c58e533500f3d7.

3)使用以下命令将要清除的 commit 弹出

$ git rebase -i <commit-hash>^
Nach dem Login kopieren

比如,我们要删除 SHA 值为 55d4d98de4caf2ac1a8f783624c58e533500f3d7 的 commit 及其之后的历史纪录,可以执行以下命令:

$ git rebase -i 55d4d98de4caf2ac1a8f783624c58e533500f3d7^
Nach dem Login kopieren

4)编辑交互窗口以将目标 commit 弹出

在交互模式中,我们需要将需要删除的目标 commit 标记为 “drop”,然后将文件保存退出即可。示例如下所示:

pick 44a0c2c this is an invalid commit, which should be removed
drop 55d4d98 Added new feature
Nach dem Login kopieren

在上例中,55d4d98 历史纪录将被删除,而 44a0c2c

    Verwenden Sie den Befehl, um den Commit-Verlauf zu löschen.

    Manchmal müssen wir einen Commit und seinen nachfolgenden Verlauf löschen. Dazu können wir den Befehl rebase von Git verwenden. Konkret müssen wir die folgenden Schritte ausführen:

    1) Verwenden Sie den folgenden Befehl, um alle Commits im Projekt anzuzeigen

    $ git filter-branch --force --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch ./' --tag-name-filter cat -- --all
    Nach dem Login kopieren

    Dieser Befehl zeigt alle Commit-Datensätze im Projekt an .

    2) Bestimmen Sie den SHA-Wert des zu löschenden Commits.

    Wir müssen den SHA-Wert des zu löschenden Commits ermitteln, der aus dem Commit-Protokoll abgerufen werden kann unten:

    $ git push origin --force --all
    Nach dem Login kopieren
    #述#Der COMMIT-SHA-Wert im obigen Beispiel ist 55D4D98DE4CAF2AC1A8F783624C58E533500F3D7 . #Zum Beispiel möchten wir das Commit mit dem SHA-Wert von 55d4d98de4caf2ac1a8f783624c58e löschen 533500f3d7 und dessen nachfolgender Verlauf. Sie können den folgenden Befehl ausführen:

    rrreee

    4) Bearbeiten Sie das interaktive Fenster, um das Ziel-Commit aufzurufen #🎜🎜 ##🎜🎜#Im interaktiven Modus müssen wir markieren Geben Sie den Ziel-Commit, der gelöscht werden muss, als „Drop“ ein, speichern Sie dann die Datei und beenden Sie den Vorgang. Ein Beispiel sieht so aus: #🎜🎜#rrreee#🎜🎜#Im obigen Beispiel wird der 55d4d98-Verlauf gelöscht und der 44a0c2c-Verlauf wird zum neuesten Commit . #🎜🎜##🎜🎜#5) Verwenden Sie den folgenden Befehl, um den alten Verlauf zu löschen #🎜🎜#rrreee#🎜🎜#Dieser Befehl kann den als „Drop“ markierten Commit und die darauf folgenden Commits löschen. #🎜🎜##🎜🎜#6) Zum Remote-Warehouse pushen #🎜🎜##🎜🎜#Schließlich müssen wir das Pushen zum Remote-Warehouse erzwingen, um die historischen Datensätze im Remote-Warehouse zu aktualisieren und die Richtigkeit der historischen Daten sicherzustellen Datensätze: #🎜 🎜#rrreee#🎜🎜#Bitte beachten Sie, dass Sie bei der Ausführung der oben genannten Befehle Vorsicht walten lassen und sicherstellen sollten, dass Sie Ihre Codebasis gesichert haben. Denn einmal gelöscht kann es nicht wiederhergestellt werden. #🎜🎜##🎜🎜#Zusammenfassung#🎜🎜##🎜🎜#In diesem Artikel wird erläutert, wie Sie mit Git den Verlauf löschen. Bevor wir diese Vorgänge durchführen, müssen wir die Folgen historischer Aufzeichnungsvorgänge berücksichtigen und Sicherungen erstellen, um irreversible Verluste zu vermeiden. Gleichzeitig sollten wir versuchen, die Löschung historischer Aufzeichnungen zu vermeiden und sie nur bei Bedarf zu verwenden. #🎜🎜#

    Das obige ist der detaillierte Inhalt vonGit, klare Geschichte. 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Git vs. GitHub: Versionskontrolle und Code -Hosting Git vs. GitHub: Versionskontrolle und Code -Hosting Apr 11, 2025 am 11:33 AM

Git ist ein Versionskontrollsystem, und GitHub ist eine GIT-basierte Code-Hosting-Plattform. Git wird verwendet, um Codeversionen zu verwalten und unterstützt lokale Operationen. GitHub bietet Online -Zusammenarbeitstools wie das Problem mit der Ausgabe und PullRequest.

Ist Git das gleiche wie GitHub? Ist Git das gleiche wie GitHub? Apr 08, 2025 am 12:13 AM

Git und Github sind nicht dasselbe. Git ist ein Versionskontrollsystem, und GitHub ist eine GIT-basierte Code-Hosting-Plattform. Git wird verwendet, um Codeversionen zu verwalten, und GitHub bietet eine Online -Zusammenarbeit.

Ist Github schwer zu lernen? Ist Github schwer zu lernen? Apr 02, 2025 pm 02:45 PM

Github ist nicht schwer zu lernen. 1) Meister Sie das Grundwissen: GitHub ist ein GIT-basiertes Versionskontrollsystem, mit dem Code Änderungen und kollaborative Entwicklung nachverfolgt werden. 2) Kernfunktionen verstehen: Versionskontrolle zeichnet jede Einreichung, die Unterstützung lokaler Arbeiten und Remote -Synchronisation auf. 3) Lernen Sie, wie Sie verwendet werden: vom Erstellen eines Repositorys bis hin zum Drücken von Commits bis hin zur Verwendung von Zweigen und Ziehenanforderungen. 4) Lösen Sie gemeinsame Probleme: wie Zusammenführungskonflikte und Vergessen, Dateien hinzuzufügen. 5) Optimierungspraxis: Verwenden Sie aussagekräftige Einreichungsnachrichten, Reinigen Sie Niederlassungen und Verwalten Sie Aufgaben mithilfe der Projektplatine. Durch Praxis und Community -Kommunikation ist Githubs Lernkurve nicht steil.

Besitzt Microsoft Git oder GitHub? Besitzt Microsoft Git oder GitHub? Apr 05, 2025 am 12:20 AM

Microsoft besitzt keinen Git, sondern besitzt GitHub. 1.Git ist ein verteiltes Versionskontrollsystem, das 2005 von Linus Torvaz erstellt wurde. 2. GitHub ist eine Online -Code -Hosting -Plattform, die auf Git basiert. Es wurde 2008 gegründet und 2018 von Microsoft übernommen.

Soll ich Git oder Github in meinen Lebenslauf setzen? Soll ich Git oder Github in meinen Lebenslauf setzen? Apr 04, 2025 am 12:04 AM

In Ihrem Lebenslauf sollten Sie sich dafür entscheiden, Git oder GitHub basierend auf Ihren Positionsanforderungen und persönlichen Erfahrungen zu schreiben. 1. Wenn die Position GIT -Fähigkeiten erfordert, markieren Sie Git. 2. Wenn die Position der Positionsbeteiligung bewertet, zeigen Sie GitHub. 3. Beschreiben Sie die Nutzungserfahrung und die Projektfälle im Detail und beenden Sie einen vollständigen Satz.

Soll ich mit Git oder GitHub beginnen? Soll ich mit Git oder GitHub beginnen? Apr 06, 2025 am 12:09 AM

Ausgehend von Git eignet sich besser für ein tiefes Verständnis der Prinzipien der Versionskontrolle. Ausgehend von GitHub eignet sich besser für die Konzentration auf Zusammenarbeit und Code -Hosting. 1.Git ist ein verteiltes Versionskontrollsystem, mit dem die Code -Versionsverlauf verwaltet wird. 2. GitHub ist eine Online -Plattform, die auf Git basiert und die Funktionen für Code -Hosting und Kollaboration bietet.

Was ist Git in einfachen Worten? Was ist Git in einfachen Worten? Apr 09, 2025 am 12:12 AM

Git ist ein Open -Source -Distributed -Versionskontrollsystem, mit dem Entwickler die Änderungen der Dateien verfolgen, zusammenarbeiten und Codeversionen verwalten können. Zu den Kernfunktionen gehören: 1) Modifikationen auf Datensätze, 2) Fallback in frühere Versionen, 3) kollaborative Entwicklung und 4) Niederlassungen für parallele Entwicklung erstellen und verwalten.

Wie benutze ich GitHub für HTML? Wie benutze ich GitHub für HTML? Apr 07, 2025 am 12:13 AM

Der Grund für die Verwendung von GitHub zur Verwaltung von HTML -Projekten ist, dass es eine Plattform für die Versionskontrolle, die kollaborative Entwicklung und die Präsentation von Werken bietet. Zu den spezifischen Schritten gehören: 1. Erstellen und initialisieren Sie das Git -Repository, 2. HTML -Dateien hinzufügen und senden. Darüber hinaus unterstützt GitHub auch Funktionen für die Code -Überprüfung, Ausgabe und PullRequest, um HTML -Projekte zu optimieren und zusammenzuarbeiten.

See all articles