post Image
【Git】 project.pbxprojのコンフリクトの直し方

project.pbxprojファイルのコンフリクト解消

XcodeでiOSの開発をしているときに絶対に起こしたくないコンフリクトの解消の仕方をメモしておきます。

そもそもなぜ起こるのか

新規ファイルを追加したりしたときにこのコンフリクトが起きる可能性が高いです。

コンフリクト解消法

とりあえずoriginmasterdevelopブランチが存在しているとします。

1, 以下のコマンドを実行する

$git pull origin master                           // masterを最新状態に
$git checkout develop                             // developにブランチを切り替える
$git rebase master                                // masterをrebaseする
※コンフリクトする
$git checkout --ours プロジェクト名.xcodeproj/project.pbxproj   // masterの方を採用する
$git add プロジェクト名.xcodeproj/project.pbxproj               // 変更を保存する
$git rebase --continue
※コンフリクトが再度発生する場合があるので git checkout --ours プロジェクト名.xcodeproj/project.pbxproj以下を繰り返す

2, プロジェクトを開くと自分が追加したファイルがあるのでそれを削除する(参照切れを起こして赤くなっている)

3, finderから自分が追加したファイルをドラッグドロップで再度追加する。

最後に

project.pbxprojのコンフリクトは起こしたくないと思っても起きてしまう…
mergepbxなどの便利なものもありますがチーム開発となると導入は簡単にできないので上の方法で解消しちゃいましょう!


『 Swift 』Article List