1. ホーム
  2. コードツール
  3. ギット

git revert + git rebase 一度に複数のコミット_本然233的博客程式员息信网_git revert Multiple

2022-01-22 14:57:29
<パス

1. git log の現在の状態を表示します。


私の現在の状態は、最初のコミット+3つのコミットの合計4つのコミットを持っていることがわかります。ここで git revert を使用してこれらの3つのコミットをロールバックします。 git revert は1つの新しいコミットで前のコミットを戻すので、3回戻すと3つの新しいコミットができますが、その後、新しいコミットを1つだけ追加したいので、探し続けてください。

2. git revert 3つのコミットを順番に巻き戻す



3 つのフォールバックを実行した後、3 つの新しいコミットが追加されたことがわかります。そして、これら 3 つのコミットをひとつにマージしたいと思います。

3. git rebase 複数のコミットをマージする

直近の3つのコミットをマージしたいので、まず以下のコマンドが必要です。

引数-iはマージする必要のないコミットのハッシュ値で、この場合は現在から4つ前のコミットで、viで編集モードに入ります。

2つの部分に分かれていることがわかります。上部のコメントされていない部分が実行するコマンドで、下部のコメントされている部分がコマンドのプロンプトの説明です。コマンド部分は、前面にコマンド名、コミットハッシュ、コミットメッセージで構成されています。

現在、私たちが知っておくべきコマンドは pick と squash の2つだけです。

  • pick は、このコミットを実行することを意味します

  • squash は、このコミットが前のコミットにマージされることを意味します。

9ee35f2 と 5eb5678 のコミットの前のコマンドを squash または s に変更し、:wq と入力して保存し、終了します。

この時点で、コミットメッセージの編集画面が表示されます。

コメント以外の部分は3つのコミットメッセージで、この3つを新しいコミットメッセージに変更すればよいのです。

wq と入力して保存して起動し、もう一度 git log と入力してコミット履歴を確認すると、3 つのコミットがマージされていることがわかると思います。

そして、プッシュすれば完了です〜。

参考にしてください。 複数のコミットをマージする
Git: スクワッシュ時の空白の許容