ゆずめも

メモ的なブログです。主に勉強した事について書いてます。

他のブランチのコミットをまとめてmergeする

Gitで作業していると

ブランチを切って作業することがありますよね?

そこでしたコミットを他のブランチへ

1つのcommitとして、まとめてmergeしたいと思います。

という訳--suqashオプションを使ったmergeの例を

 

まず現在の作業をコミットして

 

$git checkout <リポジトリ(基本 origin)> <mergeしたいブランチ>

 

(わかりやすくするため、<>で囲ってますが実行する再はいりません)

checkoutコマンドでmergeしたいブランチへ移動します

 

そして

 

$git fetch <リポジトリ> <更新内容があるブランチ>
$git log fetch_head

 

で更新内容をfetchし

logコマンドでfetchした内容を見て、更新内容が表示されていることを確認します

 

$git merge --squash fetch_head

 

これでfetch_headの内容がステージングエリアに上がります

あとは、CONFLICTが起きた場合はCONFLICTを修正し

 

$git commit
$git push <リポジトリ名> <更新したいブランチ>

 

で、更新内容をまとめてコミットします。

これで更新した内容のあるブランチのコミットを

現在のブランチに1つにまとめてコミットされます。