- 45 名前:デフォルトの名無しさん mailto:sage [2015/03/25(水) 20:07:29.90 ID:7vrJVraD.net]
- 説明しやすいサンプル見つけてきたぞ。
Replace highlight.js with rouge-fork rugments https://github.com/gitlabhq/gitlabhq/pull/8425/commits どうやらこれは、highlight.js を rouge-fork rugments に入れ替える プルリクエストのようだ。 これは一つのプロリクエストに三つのコミットが入っている。 1. テストの修正 2. ライブラリ入れ替え 3. 2以外の関連ライブラリバージョンアップ これは一つのコミットにまとめてはいけない。なぜなら入れ替えを行った結果 既存のコードが動かなくなるかもしれないからだ。 最初にテストの修正を行っているのは、ライブラリの入れ替えの前と後の両方で同じテストが通るようにするためだろう。 入れ替え前に問題となるテストを修正し(もちろん入れ替え前にテストは通る) 入れ替えた後でもテストが通れば壊れていないことが確認できる。 そして1, 2, 3のそれぞれがわかれているから何を行ったのかレビューしやすい。 テストの修正とライブラリの入れ替えと関連ライブラリのバージョンアップが 一つのコミットになっていれば、いきなり複数の変更をこんなに変えて大丈夫か?ってなるだろう? また逆に、この3つのコミットを分離して、一個ずつマージするという案もあるが、 それだと1のテストの修正は2の為にやるのだが、いきなり1.テストの修正という理由がわからない プルリクエストが届くことになる。なぜ1が必要な理由が不明だし、もしかしたら2を直せば 1は不要になるかもしれない。 だからこの三つのコミットは独立していたら駄目だし、一つのコミットにしてもいけない。 それぞれのコミットがレビューしやすいように、無駄なコミットもない。
|

|