Gestión de conflictos de fusión

Cómo prevenir y resolver conflictos de fusión

Introducción

Los conflictos de fusión pueden ocurrir cuando el archivo i18n.lock difiere entre ramas. Esto típicamente sucede cuando las traducciones se actualizan de forma independiente en diferentes ramas.

Esta página proporciona algunas opciones para prevenir y resolver conflictos de fusión.

Opción 1: Confirmar traducciones directamente a la rama main

Uno de los flujos de trabajo disponibles es generar traducciones cuando los cambios se fusionan en la rama main y confirmar automáticamente esos cambios directamente a la rama. Este flujo de trabajo previene conflictos de fusión porque no hay fusión en primer lugar.

Para obtener más información, consulta Elegir un flujo de trabajo.

Opción 2: Fusionar con regeneración del archivo de bloqueo

Al fusionar ramas que tienen archivos i18n.lock en conflicto, puedes resolver el conflicto eliminando el archivo de bloqueo y regenerándolo después de completar la fusión.

  1. Inicia la fusión:

    git merge <branch-name>
    
  2. Elimina el archivo en conflicto:

    rm i18n.lock
    
  3. Prepara los cambios:

    git add .
    
  4. Fusiona los cambios:

    git merge --continue
    
  5. Regenera el archivo i18n.lock:

    npx lingo.dev lockfile --force
    

    Nota: Este comando no activará la traducción del contenido.

Opción 3: Rebase con regeneración del archivo de bloqueo

Similar a la fusión, cuando se realiza un rebase de ramas con archivos i18n.lock en conflicto, puedes resolver los conflictos eliminando y regenerando el archivo de bloqueo.

  1. Inicia el rebase:

    git rebase <branch-name>
    
  2. Elimina el archivo en conflicto:

    rm i18n.lock
    
  3. Prepara los cambios:

    git add .
    
  4. Continúa el rebase:

    git rebase --continue
    
  5. Regenera el archivo i18n.lock:

    npx lingo.dev lockfile --force
    

    Nota: Este comando no activará la traducción del contenido.