iOSの多言語化ファイルであるLocalizable.stringsはUTF-16のため、gitではうまくmergeを行ってくれません(´・ω・`)
対策をググったのですがいまいちうまい方法がわからず、現状自分が落ちついた方法を書いてみたいと思います。うまいやり方をご存じの方はぜひコメントで教えて下さい。
-
マージ元のLocalizable.stringをLocalizable.strings.oursとして保存する
git checkout --ours ja.lproj/Localizable.strings
mv ja.lproj/Localizable.strings ja.lproj/Localizable.strings.ours -
マージしたいLocalizable.stringを復元する
git checkout --theirs ja.lproj/Localizable.strings
-
Diffを確認する
# GNU diffはutf-16のファイルをバイナリだと思っちゃうのでvimdiffを使う
vimdiff ja.lproj/Localizable.strings ja.lproj/Localizable.strings.ours 手動で頑張ってマージする (つらい)
-
Localizable.strings.oursを削除してrebase続行
rm Localizable.strings.ours
git add Localizable.strings
git rebase --continue