Git は、現在最も人気のあるバージョン管理システムの 1 つです。ただし、場合によっては、最初からやり直すために、Git プロジェクト内の履歴を削除する必要がある場合があります。この記事では、Git コマンドとツールを使用して Git プロジェクトの履歴を削除する方法を紹介します。
Git restart コマンドを使用して、コミットをキャンセルし、履歴を削除できます。このコマンドは、HEAD ポインターより前の 1 つ以上のコミットを取り消し、ポインターを指定されたコミットに移動します。
Git プロジェクトの履歴を削除するには、git restart コマンドを使用して、ポインタを以前のコミットに移動する必要があります。これにより、ポインターより前のすべてのコミットが取り消され、履歴から削除されます。次のコマンドを使用できます:
git reset --hard <commit-id>
このコマンドの「
このコマンドを使用した後、削除された履歴レコードを復元することはできないことに注意してください。したがって、このコマンドは、履歴を保存する必要がない場合にのみ、注意して使用する必要があります。
Git を通じて履歴レコードを削除するもう 1 つの方法は、git filter-branch コマンドを使用することです。このコマンドを使用すると、コミット メッセージの書き換え、コミットの削除、既存のコミットの分割など、Git プロジェクトの履歴を書き換えることができます。
Git プロジェクトの履歴を削除するには、次のコマンドを使用する必要があります:
git filter-branch --force --tree-filter 'rm -rf path/to/your/file/or/directory' HEAD
このコマンドでは、「path/to/your/file/or/directory」はファイルです。削除するディレクトリ名またはディレクトリ名。このコマンドを使用すると、Git は履歴全体を調べて、指定されたファイルまたはディレクトリ内のすべてを削除します。
このコマンドを使用すると、Git プロジェクトの全体的なパフォーマンスに影響を与える可能性があることに注意してください。さらに、 git replace コマンドと同様に、このコマンドの使用後に削除された履歴を復元することはできません。
BFG Repo-Cleaner は、Git プロジェクトの履歴レコードを削除するために特に使用されるツールです。このツールは、大規模な Git コミットの履歴をクリーンアップして管理しやすくするために使用できる Java ライブラリです。
BFG Repo-Cleaner を使用して Git プロジェクトの履歴を削除するには、次の手順に従ってください:
java -jar bfg.jar --delete-files <file-to-delete> --delete-folders <folder-to-delete> <your-repo.git>
このコマンドの「
このコマンドを使用すると、BFG Repo-Cleaner は履歴全体を走査し、指定されたファイルまたはフォルダー内のすべてを削除します。
BFG Repo-Cleaner を使用する前に、不必要なデータ損失を避けるために Git プロジェクト全体をバックアップする必要があることに注意してください。
結論
この記事では、Git プロジェクトの履歴を削除するための 3 つの異なる方法 (git restart、git filter-branch コマンド、BFG Repo-Cleaner ツールの使用) を紹介しました。データの損失を避けるために、これらの方法を使用する前に、Git プロジェクト全体をバックアップする必要があることに注意してください。履歴を適切に削除すると、バージョン管理に影響を与えることなく Git プロジェクトを再起動できます。
以上がgitの履歴を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。