開発を行っている現場ではソースコードの管理はGitを使っている場合が非常に多いと思います。
また修正等を加えたソースコードをいきなりmain(旧master)ブランチにコミット&マージをすることは非常に少ないと思います。
大抵の場合はレビュー依頼を出すと思います。レビュー依頼のことをGitHubではPR(プルリクエスト)、GitLabではMR(マージリクエスト)と言います。
基本的には変更した箇所のみの差分が発生します。
ただ時には変更を加えた記憶がないのにファイル全部に差分が発生することもあります。
今回はそのような場合の対応方法を紹介します。
変更差分がファイル全部に発生した場合の対応方法
自分の修正とは想定外にファイル全体に差分が発生した場合は、高確率で改行コードが影響していると思います。
大抵のソースコードは改行コードはLFかCRLFだと思います。この改行コードは使っているエディタの設定やGitの設定によって自動で書き換えられることが多いです。
ですのでチームで複数人で開発をやっていると個人の設定に依存して改行コードが変わる可能性があります。それによってレビュー依頼時にファイル全体に変更差分が発生してしまします。
そのためどこがコードの修正か分からずレビューがでなくなってしまいます。
今回はそんな場合の対応方法として下記の方法を紹介します。
URLを変更して改行コードの差分を非表示にする方法
これが一番てっとり早い方法です。
マージリクエストの差分を表示する画面、ないしはプルリクエストの差分を表示する画面のURLの最後に?w=1をつけるだけです。
せっかくなのでGitHubかGitLabで試してみます。
GitLabの場合
GitLabの場合はマージリクエストの差分画面を開いてURLの後ろに?w=1を追加するだけでOKです。
ですのでURLとしては下記のようになると思います。
https://gitlab.com/xxxxxxxxxxxxxx/merge_requests/1/diffs?w=1
たったこれだけで改行コードの差分が消えます。
実際に確認してみます。今回はREADME.mdファイルの改行コードをLFからCRFLに変換してマージリクエストを出してみました。MR画面の差分を見ると下図のようにファイル全体に差分が入っています。
ですが、URLの後ろに?w=1をつけると下図のように実際に修正した部分のみが差分として表示されます。
これで必要な箇所のみレビューができますね。
GitHubの場合
GitHubの場合はURLの後ろに?w=1をつけます。
これで改行コードによる差分を非表示にすることができます。
実際に画面を見てみると下図のようになります。まずは改行コードも差分に含めた場合。
ですが、URLの後ろに?w=1をつけると下図のように実際に修正した部分のみが差分として表示されます。
実際にコードを書き換えた部分だけ差分として表示されていますね。
これで快適にレビューができます。
余談ですが、なぜGitHubの画面がダークなのかが気になった人は下記の記事を読んでください。
まとめ
改行コードに関しては本来であれば開発メンバー全員が同じ設定にすることを徹底すべきです。
とは言っても発生する時は発生する問題だと思います。
複数のプロジェクトに関わっていたり、プロジェクトが移動になったりして設定変更をせずに開発をした結果引き起こすこともあります。
そんな時のために本記事の内容を頭の片隅に置いていると、焦ることなく対応できると思います。
みなさまの快適な開発ライフの役に立ちますと幸いです。
コメント