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

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

Введение

Конфликты слияния могут возникать, когда файл 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
    

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