Устранение конфликтов слияния

Как предотвратить и решить конфликты слияния

Введение

Конфликты слияния могут возникать, если файл i18n.lock отличается в разных ветках. Обычно это происходит, когда переводы обновляются независимо в разных ветках.

На этой странице приведены варианты предотвращения и решения конфликтов слияния.

Вариант 1: Коммит переводов напрямую в ветку main

Один из возможных рабочих процессов — генерировать переводы при слиянии изменений в ветку main и автоматически коммитить эти изменения обратно в ветку. Такой подход предотвращает конфликты слияния, потому что само слияние не требуется.

Подробнее см. в разделе Выбор рабочего процесса.

Вариант 2: Слияние с регенерацией lockfile

При слиянии веток с конфликтующими файлами i18n.lock можно решить конфликт, удалив lockfile и сгенерировав его заново после завершения слияния.

  1. Начните слияние:

    git merge <branch-name>
    
  2. Удалите конфликтующий файл:

    rm i18n.lock
    
  3. Добавьте изменения в индекс:

    git add .
    
  4. Завершите слияние:

    git merge --continue
    
  5. Сгенерируйте файл i18n.lock заново:

    npx lingo.dev lockfile --force
    

    Примечание: Эта команда не запускает перевод контента.

Вариант 3: Перебазирование с регенерацией lockfile

Аналогично слиянию, при перебазировании веток с конфликтующими файлами i18n.lock можно решить конфликт, удалив и сгенерировав lockfile заново.

  1. Начните перебазирование:

    git rebase <branch-name>
    
  2. Удалите конфликтующий файл:

    rm i18n.lock
    
  3. Добавьте изменения в индекс:

    git add .
    
  4. Продолжите перебазирование:

    git rebase --continue
    
  5. Сгенерируйте файл i18n.lock заново:

    npx lingo.dev lockfile --force
    

    Примечание: Эта команда не запускает перевод контента.