Umgang mit Merge-Konflikten
Wie man Merge-Konflikte verhindert und löst
Einführung
Merge-Konflikte können auftreten, wenn sich die i18n.lock Datei zwischen Branches unterscheidet. Dies geschieht typischerweise, wenn Übersetzungen unabhängig voneinander in verschiedenen Branches aktualisiert werden.
Diese Seite bietet einige Optionen zur Vermeidung und Lösung von Merge-Konflikten.
Option 1: Übersetzungen direkt in den main Branch committen
Einer der verfügbaren Workflows besteht darin, Übersetzungen zu generieren, wenn Änderungen in den main Branch gemergt werden, und diese Änderungen automatisch direkt zurück in den Branch zu committen. Dieser Workflow verhindert Merge-Konflikte, da von vornherein kein Merging stattfindet.
Um mehr zu erfahren, siehe Auswahl eines Workflows.
Option 2: Merge mit Lockfile-Regenerierung
Beim Mergen von Branches mit konfligierenden i18n.lock Dateien können Sie den Konflikt lösen, indem Sie die Lockfile entfernen und nach Abschluss des Merges neu generieren.
-
Starten Sie den Merge:
git merge <branch-name> -
Löschen Sie die konfligierende Datei:
rm i18n.lock -
Stagen Sie die Änderungen:
git add . -
Führen Sie den Merge durch:
git merge --continue -
Regenerieren Sie die
i18n.lockDatei:npx lingo.dev lockfile --forceHinweis: Dieser Befehl wird die Übersetzung von Inhalten nicht auslösen.
Option 3: Rebase mit Lockfile-Regenerierung
Ähnlich wie beim Mergen können Sie beim Rebasing von Branches mit konfligierenden i18n.lock Dateien Konflikte lösen, indem Sie die Lockfile entfernen und neu generieren.
-
Starten Sie den Rebase:
git rebase <branch-name> -
Löschen Sie die konfligierende Datei:
rm i18n.lock -
Stagen Sie die Änderungen:
git add . -
Setzen Sie den Rebase fort:
git rebase --continue -
Regenerieren Sie die
i18n.lockDatei:npx lingo.dev lockfile --forceHinweis: Dieser Befehl wird die Übersetzung von Inhalten nicht auslösen.