Для истории Git вроде этой:
A -> B -> C -> D -> E (commit to edit the Podfile and run `pod install`) -> F
\
\-> G -> H (commit to edit the Podfile and run `pod install`) -> I
При выполнении перебазирования с I
на F
, мы почти гарантированно получим конфликт из-за существования E
и H
(по крайней мере, в контрольной сумме Podfile.lock
, но обычно и в других местах)
Разрешение конфликтов для Podfile
просто, но запуск pod install
после этого не работает, поскольку у Podfile.lock
теперь есть маркеры конфликта внутри, требующие от нас разрешения конфликта в Podfile.lock
(а также Pods/Manifest.lock
, но в основном он имеет то же содержимое, что и Podfile.lock
).
Есть ли способ быстро разрешить конфликты в Podfile.lock
, используя git checkout --theirs
или git checkout --ours
? Мой текущий рабочий процесс выглядит примерно так:
- Разрешение конфликтов подфайлов
git checkout --ours Podfile.lock
git checkout --ours Pods/Manifest.lock
pod install
После шага 4 содержимое Podfile.lock
должно быть правильным. По моему опыту, однако, сборка после этого может привести к отсутствию заголовков (?), Но я не уверен, что это из-за устаревшей папки сборки (т.е. требуется Cmd + Opt + Shift + K ), или делаю ли я что-то не так с разрешением конфликтов в файле блокировки.