Branching wird in der Softwareversionskontrolle verwendet. Kopien von Projektdateien, sogenannten Branches, ermöglichen es Teams, parallel an Versionen des Projekts zu arbeiten, wobei eine nicht bearbeitete Kopie beibehalten wird. Damit entfällt das Risiko, dass versehentlich Änderungen anderer an Projektdateien überschrieben werden.
Das Haupt-Projekt wird kopiert, wenn ein neuer Branch erstellt wird, wobei nur an diesem Branch Änderungen vorgenommen werden. Wenn die Änderungen abgeschlossen sind, wird der Branch wieder mit dem Hauptprojekt zusammengeführt. Mehrere Branches können gleichzeitig bearbeitet werden. Nach dem Zusammenführen können Branches gelöscht werden. Tags aus einem vorhandenen Branch werden in den neuen Branch kopiert.
Einschränkungen
-
Alle Rollen außer Übersetzer und Gast haben Zugriff auf die Ansicht.
-
Zusammenführungen können nicht rückgängig gemacht werden, und Branches können nicht rückgängig gemacht werden.
-
Jobs, die in einem bestimmten Branch erstellt wurden, werden im Hauptprojekt nicht angezeigt und umgekehrt. Wenn ein Branch mit dem Hauptprojekt zusammengeführt wird, gehen alle offenen Jobs in ihm verloren.
-
Berichte in der
geben nur den Status des aktiven Branches wieder. Durch das Zusammenführen eines Branches mit dem Hauptprojekt werden die Hauptprojektberichte aktualisiert. -
Die
enthält nur Aktivitäten im aktiven Branch. Aktivitäten in Branches sind im Hauptprojekt nicht sichtbar und umgekehrt. Aktivitäten in einem Branch gehen beim Zusammenführen mit dem Hauptprojekt verloren. -
GitHub Sync kann nur im Hauptprojekt und nicht in Branches verwendet werden.
-
Kommentare in einem Branch sind im Hauptprojekt nicht sichtbar und umgekehrt.
-
In einem Branch erstellte
werden im Hauptprojekt nicht angezeigt und umgekehrt. Beim Zusammenführen eines Branches mit dem Hauptprojekt gehen alle offenen Orders verloren. -
Übersetzer können sich nicht auf bestimmte Branchen beschränken, sondern erhalten die Berechtigung, bestimmte Gebietsschemata zu bearbeiten. Übersetzer sollten in der Arbeit mit Branches geschult werden.
Branching ist im Tab
der aktiviert, mit der Option, den Hauptbranch vor Änderungen zu schützen.Wenn aktiviert, wird auf dem Projektbildschirm ein Branch-Menü- angezeigt, in dem Arbeitszweige ausgewählt werden können. Um einen Branch in CLI anzugeben, verwende den Parameter
--branch
:
--branch <branch_name>
Branches werden in der
Ansicht angezeigt, in der Informationen zum Erstellen und Zusammenführen angezeigt werden. Branches können auch aus der -Ansicht gelöscht oder zusammengeführt und Jobs für diesen Branche erstellt werden.Um alle Branches für ein Projekt über API oder CLI aufzulisten, führe aus:
$ phrase branches list <project_id>
Um einen Branch über API oder CLI zu löschen, führe aus:
$ phrase branch delete <project_id> <branch_name>
Rollen für Administratoren, Projektmanager und Entwickler können im Übersetzungseditor, über API oder im CLI neue Branches erstellen.
Gehen Sie folgendermaßen vor, um einen Branch im Translation Editor zu erstellen:
-
Wählen Sie auf einer
die Registerkarte aus. -
Klicke auf Branch erstellen.
Das Fenster
wird geöffnet. -
Gib einen Namen für den Branch an.
-
Klicke auf Branch erstellen.
Der neue Branch wird der Liste hinzugefügt.
Um einen Branch über API oder CPI zu erstellen, führe aus:
$ phrase branches create --project_id <project_id> --data <data>
Um beim Pushen von Übersetzungen einen Branch zu erstellen, führe aus:
$ phrase push --branch <branch_name>
Nachdem Änderungen an einem Branch vorgenommen wurden, kann dieser wieder in die Hauptübersetzung zusammengeführt werden, um neue Übersetzungen zu übernehmen.
Beim Zusammenführen werden nur Änderungen an den folgenden Ressourcen auf den Hauptzweig angewendet:
-
Gebietsschemas
-
Keys
-
Übersetzungen
Änderungen an anderen Ressourcen wie Aktivitäten, Jobs und Bestellungen werden nicht angewendet.
Konflikte
Ein Konflikt tritt auf, wenn sich eine Ressource (Übersetzung, Schlüssel oder Gebietsschema) im Hauptprojekt zwischen dem Erstellen eines Branches und dem Zusammenführen mit dem Hauptprojekt geändert hat. Beispielsweise können sich Übersetzungen und Key-Einstellungen (z. B. Pluralformen) im Hauptprojekt geändert haben, nachdem ein Branch erstellt wurde. Dadurch unterscheiden sich die Werte im Branch von denen im Hauptprojekt.
Gehen Sie folgendermaßen vor, um einen Branch zusammenzuführen:
-
Wähle in der Vergleichen und Zusammenführen.
-Ansicht eines Projekts einen Branch zum Zusammenführen aus, klicke aufDie Seite
wird geöffnet. Informationen über Übersetzungen, die beim Zusammenführen geändert werden sollen, können durch Anklicken der Zellen abgerufen werden. -
Wenn es Konflikte gibt, wähle eine Zusammenführungsstrategie:
-
Wähle
, um die widersprüchlichen Änderungen zurückzuweisen und vorhandene Übersetzungen beizubehalten. -
Wähle
, um vorhandene Übersetzungen durch Änderungen aus dem Branch zu ersetzen.
-
-
Klicke auf Branch mergen.
Der Branch wird mit dem Hauptprojekt zusammengeführt.
Führe aus, um einen Branch über API oder CPI zusammenzuführen:
$ Satz Branches mergen \
--project_id <project_id> \
--name <name> \
--data '{"strategy":"use_master"}' \
--access_token <token>
-
use_branch
löst Konflikte, indem Änderungen im Branch angewendet werden. Wenn nicht, ist dies der Standard. -
use_master
löst Konflikte auf, indem es Änderungen aus dem Branch zurückweist.
Wenn du CLI verwendest, gib einen Branch an, den du mit dem Parameter --branch
pushen oder entfernen willst.
$ phrase push --branch <branch_name> $ Satz pull --branch <branch_name>
Wenn der angegebene Branch nicht in einem Projekt vorhanden ist, erstellt der Kunde ihn.
Verwende --use-local-branch-name
zum Pushen und Ziehen mit dem Branch-Namen eines aktiven git Branch:
$ Satz push --use-local-branch-name $ Satz Pull --use-local-branch-name
Alle API-Endpunkte, die ein Projektargument annehmen, unterstützen auch den Parameter --branch
, um eine Aktion für einen bestimmten Branch eines Projekts auszuführen:
$ Satz hochladen erstellen <project_id> \ --branch <branch_name> --Datei /path/to/my/file.json \ --file-format json \ --locale-id abcd1234cdef1234abcd1234cdef1234 \ --tags awesome-feature,braucht Korrekturlesen \ --locale_mapping „{“en“: "2"}" \ --format-optionen "{"foo": "bar"}"