1. ホーム
  2. git

[解決済み] 過去のコミットでミスしたファイルを含むように変更するには?

2022-12-19 16:28:12

質問

ある変更をコミットした後、変更セットにファイルを追加するのを忘れてしまいました。他のコミットを行った後、そのファイルが HEAD^4 をコミットしました。

以前のコミットを書き換えて、欠落しているファイルを含めるにはどうすればよいですか?

どのように解決するのですか?

使用方法 git rebase --interactive HEAD~4 を設定し edit オプションを設定します。

あなたは ではありません。 この方法でリモートリポジトリにプッシュされたコミットを修正してはいけません。そのような場合は、欠落しているファイルを含む新しいコミットを追加する方がよいでしょう。


これをより明確にするために、まず現在の変更点をすべて git stash . 次に git rebase --interactive HEAD~4 . テキストエディタで以下のように表示されます (降順で5つのコミットが得られることに注意してください)。

pick 123e123 fifth last commit message
pick 321e122 fourth last commit message
pick 1d23e3f third last commit message
pick 987a987 second last commit message
pick 8a8a8a8 last commit message

変更エントリの接頭辞を pick から edit . そうすると edit 321e122 ... になります。

git rebase は、エントリを順番に見ていきます。変更するのは1つだけなので、変更するのは1つのエントリだけです。さて、あなたのファイルを git add で、そして git commit --amend を追加して、現在のコミットを修正します。

最後に git rebase --continue は次のファイルへ移動します。1 つしかないので、リベースは完了です。