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

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

PHPz
PHPzオリジナル
2023-04-06 12:48:141807ブラウズ

プログラマーが 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 までご連絡ください。