Устранение конфликтов слияния
Как предотвратить и решить конфликты слияния
Введение
Конфликты слияния могут возникать, если файл i18n.lock отличается в разных ветках. Обычно это происходит, когда переводы обновляются независимо в разных ветках.
На этой странице приведены варианты предотвращения и решения конфликтов слияния.
Вариант 1: Коммит переводов напрямую в ветку main
Один из возможных рабочих процессов — генерировать переводы при слиянии изменений в ветку main и автоматически коммитить эти изменения обратно в ветку. Такой подход предотвращает конфликты слияния, потому что само слияние не требуется.
Подробнее см. в разделе Выбор рабочего процесса.
Вариант 2: Слияние с регенерацией lockfile
При слиянии веток с конфликтующими файлами i18n.lock можно решить конфликт, удалив lockfile и сгенерировав его заново после завершения слияния.
-
Начните слияние:
git merge <branch-name> -
Удалите конфликтующий файл:
rm i18n.lock -
Добавьте изменения в индекс:
git add . -
Завершите слияние:
git merge --continue -
Сгенерируйте файл
i18n.lockзаново:npx lingo.dev lockfile --forceПримечание: Эта команда не запускает перевод контента.
Вариант 3: Перебазирование с регенерацией lockfile
Аналогично слиянию, при перебазировании веток с конфликтующими файлами i18n.lock можно решить конфликт, удалив и сгенерировав lockfile заново.
-
Начните перебазирование:
git rebase <branch-name> -
Удалите конфликтующий файл:
rm i18n.lock -
Добавьте изменения в индекс:
git add . -
Продолжите перебазирование:
git rebase --continue -
Сгенерируйте файл
i18n.lockзаново:npx lingo.dev lockfile --forceПримечание: Эта команда не запускает перевод контента.