ホームページ 開発ツール Git Github上のコミットを削除する方法

Github上のコミットを削除する方法

Apr 06, 2023 pm 12:48 PM

プログラマーが Github の使用に習熟するにつれて、さまざまな問題に遭遇する可能性があります。その中でも、コミットの削除はよくある問題の 1 つです。この記事を書く前に、コミットを削除するプロセスをよりよく理解するために、Git の基本をいくつか知っておく必要があります。

Git は分散バージョン管理システム (DVCS) です。複数の人が同じプロジェクトに取り組むことができます。誰もがコードを変更し、共有リポジトリに変更をプッシュできます。全員が変更を共有コード ベースにマージしたい場合、Git の重要なコンポーネントであるブランチ (ブランチ) が役に立ちます。各ブランチは独立したレコードであり、commit コマンドを通じて変更を追加できます。 commit コマンドは変更を Git のローカル データベースに保存し、識別子として SHA-1 ハッシュを割り当てます。

各コミットは Git データベース内の独立したレコードであるため、Git でのコミットの削除は一般的な操作ではありません。それぞれの変更は不変の「スナップショット」であり、変更の違いではありません。したがって、コミットを削除すると、他の人のコミット履歴が破壊され、共有ライブラリが使用できなくなったり、マージできなくなったりする可能性があります。したがって、コミットを削除する場合は、コードベースを壊さずにコミットを元に戻す方法に焦点を当ててください。

まず、ローカルの変更をすべて元に戻し、現在のブランチ (ブランチ) のコンテンツを上書きしたい場合は、次のコマンドを使用できます。

git reset --hard HEAD
ログイン後にコピー

このコマンドは、 HEAD ポインター (つまり、現在のブランチ、最新のコミット) は、指定されたコミットを指し、作業ツリーとステージング領域をそのコミットまでロールバックします。また、コミットされていない変更もすべてクリアされます。ただし、これによりローカルの変更がすべて削除され、変更が上書きされることに注意してください。一部の変更を保持したい場合は、最初に名前を付けて保存し、このコマンドを使用して前のコミットに戻る必要があります (「git replace --hard HEAD~2」など)。

2 番目に、コミットを元に戻してローカルの変更をすべて保持したい場合は、次のコマンドを使用できます。

git reset HEAD~
ログイン後にコピー

このコマンドは、HEAD ポインタがその親ノードを指しますが、 work ワーキングツリーは変更しないでください。コミットを元に戻すと、作業ツリーとステージング領域の外に残ります。ファイルの編集を続行し、変更を新しいコミットとして送信できます。

最後に、変更を共有ライブラリにプッシュし、コミットを削除したい場合は、次のコマンドを使用します。

git revert <commit的SHA-1值>
ログイン後にコピー

このコマンドは、指定されたコミットを元に戻し、新しいコミットを作成します。 commit は指定されたコミットを取り消します。複数のコミットを指定し、取り消しコミットをマージして、より適切な組み合わせを実現できます。

Git でコミットを削除する際には、留意すべき重要な点がいくつかあります。まず、ローカル リポジトリまたは共有ライブラリに変更を追加する前に、慎重に検討してください。コミットは不変であり、コミットを削除するとさらに大きな混乱が生じる可能性があります。次に、Git コマンド、特に共有コード ベースでは注意してください。これらのコマンドを誤って使用すると、マージできない競合が発生したり、回復できないデータが失われたりする可能性があります。最後に、変更による望ましくない影響を防ぐために、変更を加える前にデータをバックアップすることをお勧めします。

コミットの削除は、Git で最も注意が必要な操作の 1 つです。ただし、いくつかの基本を理解し、慎重に取り組めば、他の人のコミット履歴を破壊することなくタスクを正常に完了できるはずです。

以上がGithub上のコミットを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

指定されたコミットをプッシュする方法 指定されたコミットをプッシュする方法 Mar 06, 2025 pm 01:39 PM

指定されたコミットをプッシュする方法

Git管理ツールを完全に使用するためにGit管理ツールの使用方法 Git管理ツールを完全に使用するためにGit管理ツールの使用方法 Mar 06, 2025 pm 01:32 PM

Git管理ツールを完全に使用するためにGit管理ツールの使用方法

gitのコミットとプッシュの違い gitのコミットとプッシュの違い Mar 06, 2025 pm 01:37 PM

gitのコミットとプッシュの違い

コミットコンテンツを表示する方法 コミットコンテンツを表示する方法 Mar 06, 2025 pm 01:41 PM

コミットコンテンツを表示する方法

GITコミットの提出の失敗を解決する方法 GITコミットの提出の失敗を解決する方法 Mar 06, 2025 pm 01:38 PM

GITコミットの提出の失敗を解決する方法

Gitの追加とコミットの違い Gitの追加とコミットの違い Mar 06, 2025 pm 01:35 PM

Gitの追加とコミットの違い

GITコード管理ツールとは何ですか? GITコード管理ツールとは何ですか? Mar 06, 2025 pm 01:31 PM

GITコード管理ツールとは何ですか?

Git Commitの使用に関するチュートリアル Git Commitの使用に関するチュートリアル Mar 06, 2025 pm 01:36 PM

Git Commitの使用に関するチュートリアル

See all articles