場合によっては、開発者が API キー、アカウント認証情報、個人データなどの機密情報を誤ってコミットしてしまうことがあります。 Git 履歴を書き換えることで、この機密情報をリポジトリから削除し、他の人がアクセスできないようにすることができます。場合によっては、開発者はコミットの順序や構造を再編成したい場合があります。これには、コミットの再配置、関連するコミットの結合、または大規模なコミットをより小規模で集中的なコミットに分割することが含まれる場合があります。
このチュートリアルでは、Git 履歴ツールの書き換えを詳しく説明します。
Git の履歴書き換えツールとは何ですか?
Git では、「 歴史を書き換える 」は、リポジトリのコミット履歴を変更する機能を指します。これには、コミット メッセージの変更、コミットの並べ替えや結合、さらにはコミットの完全な削除など、既存のコミットの変更が含まれます。 Git は、次のような履歴を書き換えるためのさまざまなコマンドとテクニックを提供します。
これらのコマンドを使用すると、コミット メッセージの変更、コミットの再配置、他のブランチからの変更の組み込み、さらにはコミット履歴全体の書き換えが可能になります。
「git commit –amend」コマンドを使用して履歴を書き換える方法は?
「git commit」コマンドと「-amend」オプションを使用して履歴を書き換えるには、次の手順に従います。
- 指定された Git ディレクトリに移動します。
- 「」を実行してログ履歴を表示します。 git ログ ' 指図。
- 「」を実行してコミット履歴を書き換えます。 gitコミット ”コマンドと” -改める ' オプション。
ステップ 1: ローカル Git ディレクトリに移動する
最初に、目的の Git リポジトリのパスを「 CD ” コマンドを実行してそこに移動します。
CD 「C:\ユーザー\ユーザー\Git \n イットレポ」
ステップ 2: Git ログを表示する
Git ログ履歴を表示するには、「 git ログ ”コマンドと” –ワンライン ' オプション。各コミットは 1 行で表示されます。
git ログ - オンライン
ステップ 3: 履歴を書き換える
「」を実行します。 git commit –修正 ”コマンドと”- メートル 」オプションを使用して、最新のコミットメッセージを書き換えます。
gitコミット - 改める -m 「歴史が改変された」
以下の画像は、コミット履歴が正常に変更されたことを示しています。
ステップ 4: 検証
確認するには、以下のコマンドを使用して、更新されたコミットを表示します。
git ログ - オンライン
最新のコミットが正常に更新されたことがわかります。
「git rebase -i」コマンドを使用して履歴を書き換える方法は?
「」を使用して履歴を書き換えるには、 git rebase -i ” コマンドを実行するには、次の手順に従ってください。
- Git ログ履歴を表示します。
- 「」を使用してすべてのコミットを 1 つのコミットにマージして履歴を書き換えます。 gitリベースi ' 指図。
ステップ 1: Git ログを表示する
提供されたコマンドを実行して、現在の作業リポジトリのログ履歴を確認します。
git ログ - オンライン
提供された出力は、すべてのコミットが正常にリストされたことを示しています。
ステップ 2: コミット履歴を書き換える
「」を実行します。 gitリベース ”コマンドと” -私 インタラクティブモードの「」オプションを選択し、「」の値を設定します。 頭 」を選択してコミットを選択します。
gitリベース -私 頭〜 4
その結果、デフォルトのエディターが画面に表示されます。
ここで、「」を置き換えます。 選ぶ 「」を含むキーワード 押しつぶす ” すべてのコミットを 1 つのコミットにマージして履歴を書き換えます。
以下の出力は、すべてのコミットが単一のコミット HASH にマージされたことを示しています。
ステップ 3: 書き換え履歴を確認する
「」を実行して変更を確認します。 git ログ ”コマンドと” –ワンライン 」オプションを使用して、各コミットを 1 行にリストします。
git ログ - オンライン
選択したコミットが正常にマージされたことがわかります。
Git の別のツールを使用して履歴を書き換える最も簡単な方法を提供しました。
結論
Git の履歴書き換えツールは、リポジトリのコミット履歴を変更します。これには、コミット メッセージの変更やコミットの再配置や結合など、既存のコミットの変更が含まれます。 Git は、履歴を書き換えるためのさまざまなコマンドとテクニックを提供します。 git commit –修正 ' と ' gitリベース ”。