💪
Android Studioでコンフリクトマーカーを意図的にコミットする
前提
Android Studioでは、コンフリクトが発生するとその場でいい感じにコンフリクト解消作業を行える画面が出てきます。
しかし、大きめのコンフリクトとなってくると、そこでの作業ミスの可能性が気になってきます。
作業ミスはPRレビューで防止したいところですが、順当にコンフリクト解消作業を進めると、「マージコミット」と「コンフリクト解消作業のコミット」が同一のコミットになってしまい、レビュワーにとって区別不能になってしまいます。
そこで、「マージコミット(コンフリクトマーカー付き)」「コンフリクト解消のコミット」を別々にする方法を紹介します。
対象読者
- 主にAndroid StudioのGUIを使ってgit操作をしている人向け
- とは言えなんとなくgitコマンドがわかる人向け
- SourceTree等他のgitクライアントを使用している人や、コマンドマスターにはおそらく不要の記事です
- Android Studioで
Changelists
ではなくStaging Area
を使っている人にとっても不要の記事かもしれない
方法
- コマンドでマージを試みる(Android Studioのターミナルを使うと良い)
git merge branch名
- するとコンフリクトして、マージ中断状態になる
- この時点で、Android Studioのコミットメッセージエリアにデフォルトコミットメッセージ(
Merge branch ...
)が仮入力される
- この時点で、Android Studioのコミットメッセージエリアにデフォルトコミットメッセージ(
- コマンドで、コンフリクトしたファイルをそのままstageする
git add 対象のファイルパス
- Android Studioのコミット機能でコミットする
- デフォルトコミットメッセージを使いつつ、コンフリクトマーカー付きのコミットをすることができる!!
Discussion