- Coding Methodology
- 第83回 マージツールにこだわりGitをより効率的に使おう
第83回 マージツールにこだわりGitをより効率的に使おう
Web制作の現場において、バージョン管理ツールのGitはなくてはならない存在となっています。Gitを使用して複数人で制作を行ったり、1人で複数のブランチを切り替えて制作を行っている場合、競合が発生することがあります。その場合、ソースコードをマージして競合を解決する必要があります。
今回は、SourceTreeでGitを管理しているときに競合が発生した場合のマージツールを、SourceTreeの標準ツールから "WinMerge(ウィンマージ)" に変更する方法をご紹介します。
SourceTreeのマージツールをWinMergeに変更する
ソースコード 1-1
【手順1】「.gitconfig」ファイルを設定する
「.gitconfig」という設定ファイルにDiff用、Merge用の記述(ソースコード1-1)を追加します。.gitconfigファイルは「C:¥Users¥ユーザー名¥.gitconfig」とユーザーディレクトリの直下に存在することが多いようです。
図2:SourceTreeのオプションウィンドウ
【手順2】SourceTreeの環境設定(オプション)を変更する
SourceTreeのメニューから「ツール」⇒「オプション」を選択します。図2のようなオプションのウインドウが出てくるので、「Diff」タブをクリックします。
「外部 Diff / マージ」という項目の "外部Diffツール"と"マージツール"をそれぞれ変更していきます。各セレクトメニューで"外部Diffツール"を「Winmerge」に、"マージツール"を「カスタム」にし(図2-赤枠)、Diffコマンドと引数にコマンドを入力します(図2-緑枠)。
入力コマンドについてはWinMergeの日本語版公式
http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html
に記載されていますので参照してください。
以上で設定は完了です。SourceTreeを再起動して、競合が起こったファイルを選択し、「外部のマージツールとして起動」コマンドをクリックします。その後、WinMergeが起動すれば設定は成功です。
競合を解決した後に、変更差分のファイルを残さないようにする
図3:不要な.orgファイル
競合をマージツールを使用し解決すると、.orgという拡張子のファイルが残ってしまいます(図3)。その都度、SourceTreeのコマンド削除することもできますが、.orgファイルが生成される度に削除していくと手間がかかってしまいます。
そのため、以下のコマンドをコマンドプロンプトやターミナルに入力します。
ツールを使いやすくカスタマイズして、より効率の良い制作を心掛けましょう。