こちらを参考に、macの基本操作が色々分からないのでその辺を補足。
Gitのマージツールにp4mergeを使ってみた - wadahiroの日記
- p4mergeをインストール。これは解説のままに
- gitconfigの設定
- Finder▶︎アプリケーション▶︎ユーティリティ▶︎ターミナルを起動
- git config -e --global として、設定ファイルを開く
- [i]でinsertモードに移行してから、以下を追加(参考ページから抜粋)
[merge] tool = p4merge [mergetool] keepBackup = false [mergetool "p4merge"] path = p4merge keepTemporaries = false trustExitCode = false
-
- [esc]を押してから、[:][w][q]でviを保存終了
- シェルの作成
- ターミナルで以下を実行
- vi /usr/local/bin/p4merge
- [i]でinsertモードに切り替えて、以下を入力(参考ページから抜粋)
#!/bin/sh P4MERGE=/Applications/p4merge.app/Contents/MacOS/p4merge ${P4MERGE} $*
-
- [esc]を押してから[:][w][q]で保存終了
- chmod 755 /usr/local/bin/p4merge
以上で設定完了。これで勝手にEclipseで差し代わるかと思ったが、そうはいかないらしい。
ターミナルからp4mergeを起動
ターミナルからgitコマンドを利用して競合を解消する手順。
- ターミナル起動
- gitのワーキングツリーに移動
cd /Users/<ユーザー名>/git/<リポジトリ名>
- git mergetoolと入力して、[Enter]
以上で競合ファイルをp4mergeで開いてくれる。
p4mergeの使い方
リモート、ヘッド、ローカルのそれぞれにアイコンが割り当てられている。画面下の結合用ウィンドウで、有効にしたいファイルの記号を選択する。複数のものを選択したい場合は、[Shift]を押しながら記号をクリックする。
変更が終わったら保存すれば、Eclipseも競合が解決したことを認識するので、Commitできる。
Eclipseからの起動
こちらを参考にして外部ツールとしてp4mergeを設定
Eclipse Community Forums: EGit » Egit + p4merge ?
外部ツールとして設定すると、EclipseのRunメニューから呼び出せるようになる。
- Eclipseを起動
- Eclipse▶︎環境設定
- ウィンドウ左からRun/Debug▶︎String Substitutionを選択
- ウィンドウ右で、[New...]を押して以下の2つの変数を追加
- Name: git_exec / Value: /usr/bin/git
- Name: git_work_tree / Value: /Users/<ユーザー名>/git/<リポジトリ名>
- [ok]でウィンドウを閉じる
- Run▶︎External Tools▶︎External Tools Configuration...を選択
- Programを選択してから"New Launch configuration"を選択
- Nameをp4mergeなどと設定
- Location valueに${git_exec}と入力
- Working Directoryに${git_work_tree}と入力
- Argumentsに mergetool と入力
- CommonタブのShare Fileラジオボタンを選択して、プロジェクトを選択。
- Display in favorites menuのExternal Toolsにチェックを入れる
- [Apply]をして反映して閉じる
以上で設定完了。
Run▶︎External Tools▶︎p4mergeで起動できるようになる。