HOWTO · Git

Git の最後のコミットにファイルを追加する

この記事では、Git の最後のコミットにファイルを追加するさまざまな方法について説明します。

このページの内容

この記事では、Git の最後のコミットにファイルを追加するプロセスの概要を説明します。 これは、最後のコミットにファイルを含めるのを忘れて、新しいファイルを作成したくない場合に便利です。

すぐに飛び込みましょう。

Git の最後のコミットにファイルを追加する

コンテキストを簡単にするために、最後のコミットでファイルを追加する必要がある状況をシミュレートします。

ローカル リポジトリのいくつかのファイルを編集し、新しい jyp.php ファイルを追加します。 これは、変更をコミットするときに除外するファイルになります。

コミット履歴は次のとおりです。

Git Add File to Last Commit - Commit History

コミット後、インデックスの状態を見てみましょう。

$ git status

出力:

Git が最後のコミットにファイルを追加 - インデックスの状態

jyp.php ファイルを Commit to add a file コミットに追加するにはどうすればよいですか?

これには 2つの方法があります。 もっと簡単なものから始めましょう。

まず、取り残されたファイルを追加してコミットします。 以下を実行します。

$ git add jyp.php

残っているのは、以下に示すように、ファイルを最後のコミットに追加することです。

$ git commit --amend --no-edit

git commit --amend はコミットを修正します。 --no-edit フラグを使用して、コミット メッセージを変更せずにコミットします。

Note
パブリック コミットまたはリモート リポジトリにプッシュされたコミットを修正することはお勧めしません。 これにより、プロジェクトのタイムラインが台無しになる可能性があります。

Git の最後のコミットにファイルを追加する別の方法

これを行う別の方法があり、それには git rebase コマンドが含まれます。 理解を深めるために、例を見てみましょう。

インタラクティブなリベースを実行して、ローカル リポジトリの Commit to add a file にファイルを追加します。

$ git rebase -i HEAD~2

テキスト エディターで、Commit to add a file コミットで pick を edit に置き換えます。 :wq を使用して、テキスト エディターを終了します。

Git Add File to Last Commit - Interactive Rebase

新しい Load.txt ファイルを作成し、リベース モードのままコミットに追加します。 以下に示すように、コミット用のファイルを追加し、git commit --amend コマンドを実行します。

$ git commit --amend --no-edit

リベースを終了するには、次を実行します。

$ git rebase --continue

Git Add File to Last Commit - 成功したリベースと更新

リモート リポジトリを更新する必要がある場合は、次を実行します。

$ git push --force origin <branchname>

結論として、Git を使用すると、必要に応じて最後のコミットにファイルを追加できます。 2つの方法について説明しましたが、それらは類似しており、同じ出力が得られます。