ホームページ >開発ツール >Git >Git のリモート コミットを削除する方法の概要

Git のリモート コミットを削除する方法の概要

PHPz
PHPzオリジナル
2023-04-04 10:42:286658ブラウズ

Git は、開発者にいくつかの重要なコマンドとツールを提供するオープンソースの分散バージョン管理システムであり、ソフトウェアの開発や共同作業の際に非常に便利です。その中でも、Git コミュニケーションの鍵となるのはコミットの概念です。提出プロセス中にチームはコードの変更や個人の貢献について知ることができるからです。

ただし、場合によっては、送信されたコミットを削除する必要がある場合があります。たとえば、役に立たないコードや機密情報が送信された場合は、リモート コード ベースから削除する必要があります。現時点では、Git で送信されたコミットを削除する方法と、削除された変更をリモート コード ベースにプッシュする方法を学ぶ必要があります。 Gitでリモートコミットを削除する方法を紹介します。

1. Git コミットの本質

Git では、各コミットは識別子として一意の SHA-1 ハッシュ値を持ちます。このハッシュ値はコミット内容に基づいてGitによって計算されるため、文字が変更されるとそれに応じてハッシュ値も変更されます。このため、コミットは削除のみ可能で、変更はできません。

2. Git リセット コマンドを使用してコミットを削除する

コミットを削除するには、まず Git リセット コマンドを使用して、HEAD ポインターが削除する必要がある前のコミットを指すようにする必要があります。削除されました。この HEAD ポインタは、ローカル コード ベースの最新のコミットを指します。リセット コマンドを使用して、HEAD ポインタの位置を変更できます。コミットを削除したい場合は、削除する必要があるコミットを「削除」できるように、削除する必要があるコミットの前のコミットを HEAD に指定する必要があります。

たとえば、次のコミット レコードがあります:

commit2
commit1

commit2 を削除したい場合は、最初に HEAD を commit1 に指定する必要があります:

git reset HEAD~1

このコマンドは次のことを意味します。 change HEAD 前のコミット (commit1) を指すこのコマンドは、HEAD ポインタを commit1 に移動するだけでなく、Git ローカル コード ベースから commit2 を削除します。

3. Git プッシュ コマンドを使用して、リモート コード リポジトリに変更を送信します

前の手順では、reset コマンドを使用してローカル コード リポジトリのコミットを削除しましたが、必要に応じて、リモート コード リポジトリのコミット内のコミットを削除するには、削除された変更をリモート コード ベースにプッシュする必要があります。

1. 強制プッシュ: Git では、リモート コード ベースを即座に更新できるため、強制プッシュが最も一般的に使用される方法です。強制的にプッシュするコマンドは次のとおりです:

git push -f

このコマンドは、リモート コード ベースにローカルな変更を強制することを意味します (これらの変更がリモート コード ベース内のコミットされたコミットを上書きする場合でも)。

2.「revert」を使用してコミットを取り消す: この方法は、コミットを削除したくないが、逆の結果に取り消したい状況に適しています。この方法を使用するには、最初に「リバート」コミットを送信する必要があります。これにより、前のコミットがキャンセルされ、対応するリバーサル コミットが追加されます。この反転コミットの内容は、前のコミットによって加えられた変更を反転したものであるため、コード ベースは以前の状態に復元されます。このコマンドの例:

git revert <commit-id>

4. 注意事項

一度削除したリモートコミットは復元できないため、削除する場合は注意が必要です。将来必要になった場合に復元できるように、削除する必要があるコミットのコードを必ずバックアップしてください。

コードをパブリック リポジトリから削除することはできません。コミットを削除しても、そのコードは他の人のローカル リポジトリにまだ存在し、パブリック リポジトリはクリアされないからです。機密情報をクリアしたい場合は、Git の git filter-branch コマンドまたは同様のツールの使用を検討してください。

概要:

上記は、Git がリモート コミットを削除する方法です。コード管理に Git コマンドを使用する開発者は、これらの基本原則と操作手順を理解する必要があります。コミットを削除するときは、コード ベース内のソース コードの保護に注意し、データの損失を避けるためにバックアップを作成する必要があります。同時に、プロジェクトのセキュリティを保護するためにコードから機密情報を削除することをお勧めします。

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

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