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

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 までご連絡ください。
Githubの目的:バージョン制御、コラボレーションなどGithubの目的:バージョン制御、コラボレーションなどApr 27, 2025 am 12:05 AM

GitHubは単なるバージョン制御ツールではなく、コラボレーション、プロジェクト管理、コミュニティコミュニケーション機能も提供しています。 1)バージョン制御:Gitを使用してコードの変更を追跡します。 2)コラボレーション:PullRequestを通じてコードの変更を送信します。 3)プロジェクト管理:問題とプロジェクトセクションを使用して、タスクを管理します。 4)コミュニティコミュニケーション:フォークを通じて学び、コミュニケーションを取り、オープンソースプロジェクトに参加します。

Github vs. Git:重要な違​​いを理解しますGithub vs. Git:重要な違​​いを理解しますApr 26, 2025 am 12:12 AM

GitとGithubは異なるツールです。Gitはバージョン制御システムであり、GithubはGitに基づくオンラインプラットフォームです。 GITはコードバージョンを管理するために使用され、GitHubはコラボレーションとホスティング機能を提供します。

GitHub:コードホスティング、コラボレーション、およびバージョン制御GitHub:コードホスティング、コラボレーション、およびバージョン制御Apr 25, 2025 am 12:23 AM

GitHubは、GITに基づいた分散バージョン制御システムであり、バージョン制御、コラボレーション、コードホスティングのコア機能を提供します。 1)リポジトリの作成、クローニング、コミット、および変更の作成が基本的な使用法です。 2)高度な使用法には、自動化にGitHubactionsの使用、GitHubpagesに静的Webサイトの展開、セキュリティ機能を使用してコードを保護することが含まれます。 3)競合のマージ、許可の問題、ネットワーク接続の問題などの一般的なエラーは、競合を手動で解決し、倉庫の所有者に連絡し、プロキシを設定することでデバッグできます。 4)ワークフローを最適化する方法には、分岐戦略の使用、自動テストとCI/CDの使用、コードレビュー、およびドキュメントと注釈の維持が含まれます。

git:ツール、github:サービスgit:ツール、github:サービスApr 24, 2025 am 12:01 AM

GitとGithubは異なるツールです。Gitは分散バージョン制御システムであり、GithubはGitに基づくオンラインコラボレーションプラットフォームです。 GITは、ワークスペース、一時的な保管エリア、ローカルウェアハウスを介してコードを管理し、Gitinit、GitCloneなどの一般的なコマンドを使用します。Githubは、コードホスティング、プルリケスト、発行誘導などの機能を提供します。

Git:バージョンコントロールのコア、Github:ソーシャルコーディングGit:バージョンコントロールのコア、Github:ソーシャルコーディングApr 23, 2025 am 12:04 AM

GitとGithubは、最新のソフトウェア開発のための重要なツールです。 GITは、リポジトリ、ブランチ、コミット、マージを介してコードを管理するバージョン制御機能を提供します。 GitHubは、問題やPullRequestsなどのコードホスティングおよびコラボレーション機能を提供します。 GitとGithubを使用すると、開発効率とチームコラボレーション機能が大幅に向上する可能性があります。

Git:バージョン制御システム、Github:ホスティングプラットフォームGit:バージョン制御システム、Github:ホスティングプラットフォームApr 22, 2025 am 12:02 AM

Gitは2005年にLinus Torvazによって開発された分散バージョン制御システムであり、GitHubは2008年に設立されたGitベースのコードホスティングプラットフォームです。Gitは、スナップショット管理ファイルを介して分岐をサポートし、GitHubはチームコラボレーションを促進するためのプルリクエスト、問題追跡、コードレビュー機能を提供します。

Git and Github:比較分析Git and Github:比較分析Apr 21, 2025 am 12:10 AM

GitとGithubは、最新のソフトウェア開発における重要なツールです。 Gitは分散バージョン制御システムであり、GithubはGitベースのコードホスティングプラットフォームです。 GITのコア機能にはバージョン制御と支店管理が含まれ、GitHubはコラボレーションおよびプロジェクト管理ツールを提供します。 GITを使用する場合、開発者はファイルの変更を追跡して一緒に作業できます。 Githubを使用する場合、チームはPullRequestsや問題を介してコラボレーションできます。

Github:コードホスティングプラットフォームの紹介Github:コードホスティングプラットフォームの紹介Apr 20, 2025 am 12:10 AM

githubisubiscurucialforsoftedevelowmentdueToitsdueToitscompregeCosystemmanagementandcollaboration.itofferSversubactionsandPages.toolslikegithubactionsandpages.startbyMasteringBasicsLikeCreatingReapository、使用、および承認を使用します

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。