1. ホーム
  2. git

[解決済み] 前のコミットではないコミットを修正する [重複]。

2022-04-26 02:07:17

質問

よくあるのは、以下のようなワークフローです。

  1. ファイルグループへの変更をコミットする
  2. 別のファイルグループへの変更のコミット
  3. 最初のコミットに含まれるはずの変更を見逃したことに気づく
  4. 呪い

を活用することができません。 git commit --amend なぜなら、それは私が変更する必要のある最新のコミットではないからです。最初のコミットに変更を加えるには、どのような方法があるでしょうか? 2番目のものを触ることなく?

解決方法は?

を使用することができます。 git rebase を使えば解決します。実行 git rebase -i sha1~1 ここで、sha1 は変更したいコミットメントのハッシュ値です。変更したいコミットを見つけ、rebase エディタのコメントにあるように "pick" を "edit" に置き換えてください。そこから先に進むと、そのコミットを編集することができます。

これは、そのコミットだけでなく、すべての子コミットの sha1 を変更することに注意してください -- 言い換えれば、これはその時点からの履歴を書き換えることになります。これを行うとリポジトリが壊れる可能性がありますが、プッシュしていないのであれば、それほど大きな問題ではありません。