ホームページ 開発ツール Git 履歴をクリアする

履歴をクリアする

May 25, 2023 pm 06:35 PM

Git は一般的に使用されるバージョン管理ツールであり、プロジェクト開発で広く使用されています。プロジェクト開発中、私たちは通常、コードの送信、ブランチのマージ、その他の操作を含むバージョン管理と管理のためにさまざまな git コマンドを使用します。ただし、場合によっては、機密情報の削除や不要なコミット レコードのクリアなど、Git 履歴のクリアが必要になる場合があります。以下では、Git 履歴をクリアする方法について説明します。

1. バックアップ

Git 履歴の消去操作を実行する前に、操作中のエラーや予期せぬ事態を防ぐためにバックアップを実行する必要があります。必要に応じてコード ベースを復元できるように、現在のコード ベースを安全な場所にバックアップすることが重要です。 Git のパッケージング コマンドを使用して、プロジェクトを圧縮ファイルにバックアップできます。例:

git archive --format zip --output backup.zip HEAD
ログイン後にコピー

このコマンドは、現在のコード ベースを ZIP ファイルにパッケージ化し、backup.zip に保存します。

2. 履歴レコードをクリアします

  1. コマンドを使用して単一ファイルの履歴レコードをクリアします

単一ファイルの履歴レコードを削除しますこれは比較的単純な操作なので、次のコマンドを使用して実現できます。

$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch path/to/file' --prune-empty -- --all
ログイン後にコピー

このコマンドは、履歴レコードからターゲット ファイルを完全に削除します。このうち、path/to/fileはクリアするファイルパスを表します。

  1. コマンドを使用してコミット履歴をクリアする

コミットとその後の履歴を削除する必要がある場合があります。これを行うには、Git の rebase コマンドを使用できます。具体的には、次の手順を実行する必要があります。

1) 次のコマンドを使用して、プロジェクト内のすべてのコミットを表示します。

$ git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
ログイン後にコピー

このコマンドは、プロジェクト内のすべてのコミット レコードを表示します。

2) クリアするコミットの SHA 値を決定する

削除するコミットの SHA 値を見つける必要があります。これは、以下のコミット ログから取得できます。

commit 55d4d98de4caf2ac1a8f783624c58e533500f3d7
Author: John Doe <john@doe.com>
Date:   Fri Apr 30 16:01:07 2021 -0700

    Added new feature
ログイン後にコピー

上記の例 のコミット SHA 値は 55d4d98de4caf2ac1a8f783624c58e533500f3d7.

3) 次のコマンドを使用して、クリアするコミットをポップアップ表示します

$ git rebase -i <commit-hash>^
ログイン後にコピー

Forたとえば、55d4d98de4caf2ac1a8f783624c58e53 3500f3d7 コミットとその後の履歴の SHA 値を削除したい場合、次のコマンドを実行できます:

$ git rebase -i 55d4d98de4caf2ac1a8f783624c58e533500f3d7^
ログイン後にコピー

4) インタラクティブ ウィンドウを編集してターゲット コミットをポップアップ表示します。

対話型モードでは、ターゲットのコミットが「ドロップ」としてマークされているを削除し、ファイルを保存して終了する必要があります。例は次のようになります。

pick 44a0c2c this is an invalid commit, which should be removed
drop 55d4d98 Added new feature
ログイン後にコピー

上記の例では、55d4d98 履歴が削除され、44a0c2c 履歴が最新のコミットになります。

5) 次のコマンドを使用して古い履歴レコードをクリアします。

$ git filter-branch --force --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch ./' --tag-name-filter cat -- --all
ログイン後にコピー

このコマンドは、「ドロップ」としてマークされたコミットとその後のコミットをクリアできます。

6) リモート ウェアハウスへのプッシュ

最後に、リモート ウェアハウスの履歴レコードを更新し、履歴レコードの正確性を確認するために、リモート ウェアハウスへのプッシュを強制する必要があります。

$ git push origin --force --all
ログイン後にコピー

上記のコマンドを実行するときは注意し、必ずコード ベースをバックアップする必要があることに注意してください。一度削除すると復元できないためです。

概要

この記事では、Git を使用して履歴をクリアする方法を紹介します。これらの操作を実行する前に、履歴レコード操作の結果を考慮し、回復不能な損失を避けるためにバックアップを作成する必要があります。同時に、履歴記録の消去は避け、必要な場合にのみ使用する必要があります。

以上が履歴をクリアするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Gitプロジェクトをローカルにダウンロードする方法 Gitプロジェクトをローカルにダウンロードする方法 Apr 17, 2025 pm 04:36 PM

gitを介してローカルにプロジェクトをダウンロードするには、次の手順に従ってください。gitをインストールします。プロジェクトディレクトリに移動します。次のコマンドを使用してリモートリポジトリのクローニング:git clone https://github.com/username/repository-name.git

gitでコードを更新する方法 gitでコードを更新する方法 Apr 17, 2025 pm 04:45 PM

GITコードを更新する手順:コードをチェックしてください:gitクローンhttps://github.com/username/repo.git最新の変更を取得:gitフェッチマージの変更:gitマージオリジン/マスタープッシュ変更(オプション):gitプッシュオリジンマスター

GitでSSHキーを生成する方法 GitでSSHキーを生成する方法 Apr 17, 2025 pm 01:36 PM

リモートGitサーバーに安全に接続するには、パブリックキーとプライベートキーの両方を含むSSHキーを生成する必要があります。 SSHキーを生成する手順は次のとおりです。端子を開き、ssh -keygen -t rsa -b 4096を入力します。キー保存場所を選択します。秘密鍵を保護するには、パスワード句を入力します。公開キーをリモートサーバーにコピーします。アカウントにアクセスするための資格情報であるため、秘密鍵を適切に保存します。

gitの提出後に戻る方法 gitの提出後に戻る方法 Apr 17, 2025 pm 01:06 PM

Git Commitをフォールバックするには、Git Reset - Hard Head〜nコマンドを使用できます。ここで、nはコミット数の数を表します。詳細な手順には、次のものがあります。 - ハードオプションを使用して、フォールバックを強制します。指定されたコミットに戻るためにコマンドを実行します。

GITの倉庫アドレスを確認する方法 GITの倉庫アドレスを確認する方法 Apr 17, 2025 pm 01:54 PM

gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

Git vs. Github:バージョンコントロールとコードホスティング Git vs. Github:バージョンコントロールとコードホスティング Apr 11, 2025 am 11:33 AM

Gitはバージョン制御システムであり、GithubはGitベースのコードホスティングプラットフォームです。 GITは、コードバージョンを管理し、ローカル操作をサポートするために使用されます。 GitHubは、問題の追跡やPullRequestなどのオンラインコラボレーションツールを提供しています。

gitでコードをマージする方法 gitでコードをマージする方法 Apr 17, 2025 pm 04:39 PM

gitコードマージプロセス:競合を避けるために最新の変更を引き出します。マージするブランチに切り替えます。マージを開始し、ブランチをマージするように指定します。競合のマージ(ある場合)を解決します。ステージングとコミットマージ、コミットメッセージを提供します。

Gitダウンロードがアクティブでない場合はどうすればよいですか Gitダウンロードがアクティブでない場合はどうすればよいですか Apr 17, 2025 pm 04:54 PM

解決:gitのダウンロード速度が遅い場合、次の手順を実行できます。ネットワーク接続を確認し、接続方法を切り替えてみてください。 GIT構成の最適化:ポストバッファーサイズ(Git Config -Global HTTP.Postbuffer 524288000)を増やし、低速制限(GIT Config -Global HTTP.LowsPeedLimit 1000)を減らします。 Gitプロキシ(Git-ProxyやGit-LFS-Proxyなど)を使用します。別のGitクライアント(SourcetreeやGithubデスクトップなど)を使用してみてください。防火を確認してください

See all articles