Git – マージ – squash~ブランチをまとめて取り込む

概要

git merge--squashオプションを付けると、指定したブランチの全コミットを1つにまとめて今のブランチに追加する。

準備

以下のようなリポジトリーを使う。

  • mainブランチのコミットでREADME.txtに新規書き込み
  • topicブランチの2つのコミットでREADME.txtに新規書き込みと1行追加

マージ

mainブランチで、--suquashオプションを指定してgit mergetopicブランチをマージ。今回は同じREADME.txtを編集しているので競合が発生している。

README.txtの競合状態を確認。

README.txtを編集して競合を解消。

結果をadd、コミット。

no-fast-forwardマージとしてエディターが起動。内容を確認して保存・終了。

コミット結果が表示される。

ログで確認。topicブランチでの2つのコミットが1つのsquashed commitとしてつなげられた。

マージの取り消し

git reset --hard ORIG_HEADでマージ前に戻ることができる。

ログも元に戻る。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です