1. ホーム
  2. ギット

[解決済み】指定したコミットを変更するには?

2022-03-18 04:14:38

質問

私は通常、レビューのためにコミットのリストを提出します。以下のようなコミットがあった場合。

  1. HEAD
  2. Commit3
  3. Commit2
  4. Commit1

...私は、headコミットを git commit --amend . しかし、私はどのように変更することができます Commit1 であることを考えると、それは HEAD コミット?

解決方法は?

を使用することができます。 git rebase . 例えば、コミット bbc643cd を実行します。

$ git rebase --interactive 'bbc643cd^'

キャレットに注意してください ^ にリベースする必要があるからです。 コミット 以前 変更したいもの .

デフォルトのエディタで pick から edit を、'bbc643cd' に言及している行に追加してください。

ファイルを保存して終了すると、git はファイル内のコマンドを解釈して自動的に実行します。すると、先ほど作成したコミットメント bbc643cd .

この時点では bbc643cd が最後のコミットとなり 簡単に修正できます : 変更を加えてから、コマンドでコミットしてください。

$ git commit --all --amend --no-edit

その後に、入力します。

$ git rebase --continue

を実行すると、前の HEAD コミットに戻ります。

警告 : これはそのコミットの SHA-1 を変更することに注意してください。 とすべての子 -- 言い換えれば、その時点からの履歴を書き換えることになります。 レポを壊すことができる というコマンドでプッシュすると git push --force