Branching wird in der Softwareversionskontrolle verwendet. Kopien von Projektdateien, die als Branches bezeichnet werden, ermöglichen es Teams, gleichzeitig an parallelen Versionen des Projekts zu arbeiten, während eine unbearbeitete Kopie erhalten bleibt. Dies beseitigt das Risiko, versehentlich die Änderungen anderer an Projektdateien zu überschreiben.
Das Hauptprojekt wird kopiert, wenn ein neuer Branch erstellt wird, wobei Änderungen nur an diesem Branch vorgenommen werden. Wenn die Änderungen abgeschlossen sind, wird der Branch wieder in das Hauptprojekt zusammengeführt. Mehrere Branches können gleichzeitig bearbeitet werden, und nach dem Zusammenführen können Branches gelöscht werden. Tags von einem bestehenden Branch werden in den neuen Branch kopiert.
Einschränkungen
-
Alle Rollen außer Übersetzer und Gast haben Zugriff auf die Branches-Ansicht.
-
Zusammenführungen können nicht rückgängig gemacht werden und Branches können nicht wiederhergestellt werden.
-
Jobs, die in einem bestimmten Branch erstellt wurden, sind im Hauptprojekt und umgekehrt nicht sichtbar. Wenn ein Branch in das Hauptprojekt zusammengeführt wird, gehen alle offenen Jobs darin verloren.
-
Berichte in der Reports-Ansicht spiegeln nur den Status des aktiven Branches wider. Das Zusammenführen eines Branches in das Hauptprojekt aktualisiert die Berichte des Hauptprojekts.
-
Die Activity-Ansicht enthält nur Aktivitäten im aktiven Branch. Aktivitäten in Branches sind im Hauptprojekt und umgekehrt nicht sichtbar. Aktivitäten in einem Branch gehen verloren, wenn er in das Hauptprojekt zusammengeführt wird.
-
GitHub Sync kann nur im Hauptprojekt und nicht in Branches verwendet werden.
-
Kommentare, die in einem Branch gemacht werden, sind im Hauptprojekt und umgekehrt nicht sichtbar.
-
die in einem Branch erstellt wurden, sind im Hauptprojekt und umgekehrt nicht sichtbar. Wenn ein Branch in das Hauptprojekt zusammengeführt wird, gehen alle offenen Bestellungen darin verloren.
-
Übersetzer können nicht auf bestimmte Branches beschränkt werden, sondern erhalten die Erlaubnis, an bestimmten Lokalen zu arbeiten. Übersetzer sollten angewiesen werden, wie sie mit Branches arbeiten.
Branching ist im
Tab der mit der Option aktiviert, den Hauptbranch vor Änderungen zu schützen.Wenn aktiviert, wird ein Branch-Menü auf dem Projektbildschirm angezeigt, wo Arbeitsbranches ausgewählt werden können. Um einen Branch in CLI anzugeben, verwenden Sie den
--branch
Parameter:
--branch <branch_name>
Branches werden in der
Ansicht aufgelistet, wo Informationen zur Erstellung und Zusammenführung angezeigt werden. Branches können auch gelöscht oder zusammengeführt und Jobs für diesen Branch aus der Ansicht erstellt werden.Um alle Branches für das Projekt über API oder CLI aufzulisten, führen Sie aus:
$ phrase branches list <project_id>
Um einen Branch über API oder CLI zu löschen, führen Sie aus:
$ phrase branch delete <project_id> <branch_name>
Admin-, Projektmanager- und Entwicklerrollen können neue Branches im Übersetzungseditor, über API oder in der CLI erstellen.
Um einen Branch im Übersetzungseditor zu erstellen, befolgen Sie diese Schritte:
-
Von einer
Seite, wählen Sie den Tab aus. -
Klicken Sie auf Branch erstellen.
Das
Fenster öffnet sich. -
Geben Sie einen Namen für den Branch an.
-
Klicken Sie auf Branch erstellen.
Der neue Branch wird zur Liste hinzugefügt.
Um einen Branch über die API oder CPI zu erstellen, führen Sie aus:
$ phrase branches create --project_id <project_id> --data <data>
Um einen Branch beim Pushen von Übersetzungen zu erstellen, führen Sie aus:
$ phrase push --branch <branch_name>
Nachdem Änderungen an einem Branch vorgenommen wurden, kann er wieder in die Hauptübersetzung zusammengeführt werden, um neue Übersetzungen zu integrieren.
Nur Änderungen an den folgenden Ressourcen werden während der Zusammenführungen auf den Hauptbranch angewendet:
-
Gebietsschemas
-
Keys
-
Übersetzungen
Änderungen an anderen Ressourcen, wie Aktivitäten, Jobs und Bestellungen, werden nicht angewendet.
Konflikte
Ein Konflikt tritt auf, wenn eine Ressource (Übersetzung, Schlüssel oder Sprache) im Hauptprojekt zwischen der Erstellung eines Branches und dessen Zusammenführung in das Hauptprojekt geändert wurde. Zum Beispiel können Übersetzungen und Schlüsseleinstellungen (wie Pluralformen) im Hauptprojekt nach der Erstellung eines Branches geändert worden sein, wodurch die Werte im Branch von denen im Hauptprojekt abweichen.
Um einen Branch zusammenzuführen, befolgen Sie diese Schritte:
-
Wählen Sie im Vergleichen und Zusammenführen.
Ansicht eines Projekts einen Branch zur Zusammenführung aus und klicken Sie aufDie
Seite öffnet sich. Informationen über Übersetzungen, die während der Zusammenführung geändert werden sollen, können durch Klicken in die Zellen abgerufen werden. -
Wenn es Konflikte gibt, wählen Sie eine Zusammenführungsstrategie:
-
Wählen Sie
, um die konfliktierenden Änderungen zurückzuweisen und bestehende Übersetzungen beizubehalten. -
Wählen Sie
, um bestehende Übersetzungen durch Änderungen aus dem Branch zu ersetzen.
-
-
Klicken Sie Zusammenführen Branch.
Der Branch wird in das Hauptprojekt zusammengeführt.
Um einen Branch über die API oder CPI zusammenzuführen, führen Sie aus:
$ phrase branches zusammenführen \\
--project_id <project_id> \\
--name <name> \\
--data '{"strategy":"use_main"}' \
--access_token <token>
-
verwenden_branch
löst Konflikte auf, indem Änderungen vom Branch angewendet werden und wenn nicht angegeben, ist dies der Standard. -
verwenden_haupt
löst Konflikte auf, indem Änderungen vom Branch abgelehnt werden.verwenden_master
wird ebenfalls unterstützt.
Bei der Verwendung von CLI geben Sie einen Branch an, von dem Sie pushen oder pullen möchten, mit dem --branch
Parameter an.
$ phrase push --branch <branch_name> $ phrase pull --branch <branch_name>
Wenn der angegebene Branch in einem Projekt nicht existiert, erstellt der Kunde ihn.
Verwenden Sie --use-local-branch-name
, um mit dem Branch-Namen eines aktiven Git-Branches zu pushen und zu pullen:
$ phrase push --use-local-branch-name $ phrase pull --use-local-branch-name
Alle API-Endpunkte, die ein Projektargument akzeptieren, unterstützen auch den --branch
Parameter, um eine Aktion auf einem bestimmten Branch eines Projekts auszuführen:
$ phrase hochladen erstellen <project_id> \\ --branch <branch_name> --file /path/to/my/file.json \ --file-format json \ --locale-id abcd1234cdef1234abcd1234cdef1234 \ --tags großartige-funktion, benötigt-korrekturlesen \\ --sprache-zuordnung "{"en": "2"}" \ --format-optionen "{"foo": "bar"}"