Heim  >  Artikel  >  Entwicklungswerkzeuge  >  So löschen Sie Commit auf Github

So löschen Sie Commit auf Github

PHPz
PHPzOriginal
2023-04-06 12:48:141844Durchsuche

Da Programmierer immer besser mit Github umgehen können, können sie auf verschiedene Probleme stoßen. Unter diesen ist das Löschen eines Commits eines der häufigsten Probleme. Bevor wir diesen Artikel schreiben, müssen wir einige Git-Grundlagen kennen, um den Prozess des Löschens von Commits besser zu verstehen.

Git ist ein verteiltes Versionskontrollsystem (DVCS). Es ermöglicht mehreren Personen, an demselben Projekt zu arbeiten. Jeder kann Änderungen am Code vornehmen und Änderungen an das gemeinsam genutzte Repository übertragen. Wenn jeder seine Änderungen in einer gemeinsamen Codebasis zusammenführen möchte, ist eine wichtige Komponente von Git – Branch (branch) – praktisch. Jeder Zweig ist ein unabhängiger Datensatz und Änderungen können über den Commit-Befehl hinzugefügt werden. Der Commit-Befehl speichert die Änderungen in der lokalen Datenbank von Git und weist einen SHA-1-Hash als Kennung zu.

Das Löschen eines Commits in Git ist kein üblicher Vorgang, da jeder Commit ein unabhängiger Datensatz in der Git-Datenbank ist. Jede Änderung ist eine unveränderliche „Momentaufnahme“ und keine Differenz von Änderungen. Daher kann das Entfernen eines Commits den Commit-Verlauf anderer Personen zerstören, wodurch die gemeinsam genutzte Bibliothek unbrauchbar wird oder nicht mehr zusammengeführt werden kann. Wenn Sie also einen Commit entfernen möchten, konzentrieren Sie sich darauf, wie Sie den Commit rückgängig machen können, ohne die Codebasis zu beschädigen.

Wenn Sie zunächst nur alle lokalen Änderungen rückgängig machen und Inhalte im aktuellen Zweig überschreiben möchten, können Sie den folgenden Befehl verwenden:

git reset --hard HEAD

Dieser Befehl zeigt den HEAD-Zeiger (d. h. den letzten Commit des aktuellen Zweigs) auf den angegebenen Commit ausführen und den Arbeitsbaum und den Staging-Bereich auf diesen Commit zurücksetzen. Außerdem werden alle nicht festgeschriebenen Änderungen gelöscht. Bitte beachten Sie jedoch, dass dadurch alle lokalen Änderungen gelöscht und alle Änderungen überschrieben werden. Wenn Sie dennoch einige Änderungen beibehalten möchten, sollten Sie diese zunächst speichern und mit diesem Befehl zum vorherigen Commit zurückkehren (z. B. „git reset --hard HEAD~2“).

Zweitens, wenn Sie nur das Commit rückgängig machen möchten, aber dennoch alle lokalen Änderungen beibehalten möchten, können Sie den folgenden Befehl verwenden:

git reset HEAD~

Dieser Befehl zeigt den HEAD-Zeiger auf seinen übergeordneten Knoten, ändert aber nicht den Arbeitsbaum. Rückgängig gemachte Commits bleiben außerhalb der Arbeitsstruktur und des Staging-Bereichs. Sie können die Datei weiter bearbeiten und die Änderungen als neues Commit übermitteln.

Wenn Sie schließlich Änderungen an einer gemeinsam genutzten Bibliothek vorgenommen haben und den Commit löschen möchten, verwenden Sie den folgenden Befehl:

git revert <commit的SHA-1值>

Dieser Befehl macht den angegebenen Commit rückgängig und erstellt einen neuen Commit, der den angegebenen Commit rückgängig macht. Sie können mehrere Commits angeben und dann Rückgängig-Commits zusammenführen, um eine bessere Kombination zu erzielen.

Beim Löschen von Commits in Git sind einige Punkte zu beachten. Überlegen Sie zunächst sorgfältig, bevor Sie Änderungen an Ihrem lokalen Repository oder Ihrer gemeinsam genutzten Bibliothek vornehmen. Commits sind unveränderlich und das Entfernen von Commits kann zu noch größerem Chaos führen. Zweitens: Seien Sie vorsichtig mit Git-Befehlen, insbesondere bei gemeinsam genutzten Codebasen. Der Missbrauch dieser Befehle kann zu Konflikten führen, die nicht zusammengeführt werden können, oder sogar zu Datenverlusten, die nicht wiederhergestellt werden können. Abschließend empfiehlt es sich, Ihre Daten zu sichern, bevor Sie Änderungen vornehmen, um unerwünschte Auswirkungen Ihrer Änderungen zu verhindern.

Das Löschen eines Commits kann einer der schwierigsten Vorgänge in Git sein. Wenn Sie jedoch ein paar Grundlagen verstehen und vorsichtig an die Sache herangehen, sollten Sie in der Lage sein, die Aufgabe erfolgreich abzuschließen, ohne den Commit-Verlauf anderer Leute zu zerstören.

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

Stellungnahme:
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