コンフリクト解消で迷ったときに便利!VS CodeのGit Blameを使ってみよう
目次
はじめに
マージコンフリクトは、開発者にとって避けられないものです。どれだけ頑張って避けようとしても、2人のエンジニアが同じファイルに変更を加えると、Gitはどちらが正しいのかを判断できず、コンフリクトが発生します。
驚くことに、時には自分が見覚えのないコードでマージコンフリクトが発生することがあります。リベースをした場合や、ブランチがかなり古い場合など、意図せず誰かの変更を上書きしてしまう可能性があります。このような場合は、どのコードが正しいのかを調べるために調査する必要があります。
この記事では、その調査に役立つツールとしてGit Blameを紹介します。
Git Blameとは?
Git Blameは、コードの最新の変更に関する情報を確認するために使用できるGitコマンドです。変更元のコミット、誰が変更したのか、いつ変更されたのかなどの情報を見ることができます。
この情報は、マージコンフリクトが発生した際に、どのコードが正しいのかを調査するときに非常に役立ちます。変更元のコミットを確認して、その変更がどのような目的で行われたのかを理解したり、誰が変更したのかを確認して、その人にどうすればよいか聞いたりすることができます。
Git Blameはターミナルでコマンドとして実行することが多いですが、もっと簡単に使う方法があります。GitHubの認証情報を使ってVS Codeにログインすると、画面の下部にGit Blameの情報が表示されます。

変更履歴から調べましょう!
「Open on GitHub」のリンクをクリックすると、そのコードが変更されたプルリクエストを見ることができます。マージコンフリクトが発生した場合は、どちらが正しいコードなのかを調査するために、両方のコードを確認しましょう。もしかすると、一方は元々の実装で、もう一方は後から行われた修正かもしれません。その場合は、修正された方を残すことになります。
元のプルリクエストを確認しても判断できない場合は、変更した本人に聞けば、どちらを残すべきか教えてもらえます。わからないときは、どちらが正しいか推測するよりも、チームメンバーに相談する方が常に良いでしょう。最悪の場合、他のエンジニアが一生懸命作ったコードを上書きしてしまう可能性があります。
まとめると、マージコンフリクトを解消するときは、できるだけ早く解消しようとするべきではありません。きちんと調査を行い、正しく解消することを目指しましょう。Git Blameは、そのために使えるツールの一つです。



















