Branching a versioning tool enabling you to create a parallel set of content in a “branch” so you can edit the branched content without affecting the original content and push changes from one branch to another.
The branching enables you to maintain and edit multiple versions of your content. When a map is branched, full copies of each component are created in the new branch, along with its link dependencies. This allows you to edit the branched map without affecting the ‘original’ map. Then when you’re ready, you can merge or replace changes from one branch into another.
Note:You must be an Administrator or have specific user permissions to branch and release content.
Branching is map-based, meaning you can only create branches for maps. To branch your map, use the Branching Tab in the Resource Viewer . You can use this interface to branch a map, or to merge or replace content from one branch to another. Just select a Source Branch to merge or replace content in the Target Branch with.
Each time you merge or replace branches, a historical event is added to the file’s history. You can view and even restore a previous version before the merge using the History Tab.
Your default branch is named “master”. You can switch to another branch using the. Search is enabled in this menu so you can quickly find the branch you’re looking for.
Creating a Branch
When you branch a map, full copies of each component in the map and its link dependencies are created in a branch. In the example below, when you branch Map ABC, that map and all of its dependencies (topics, images, and reused content) are copied into a new branch.
If any of the topics in Map ABC reference topics that aren’t directly in the map (for example, ReferenceA), those topics would also be included, even though they are not direct dependencies of the map.
Merging between branches
As you continue modifying content in a branched map, you may need to merge changes from your branched map to the master or even to any branch that contains the map. When merging between branches, you’ll be asked to Approve or Reject any differences in the topics you’re merging. For example:
During a merge, you can also push completely new resources like topics or images to the Target Branch.
Merging into an existing branch
The branching feature uses a selective branching system, enabling you to merge into a branch that doesn’t contain the map. When you merge into the Target Branch, if a component is already present in the Target Branch, it will not be overwritten. The component will be unchanged and any other components linking to it will be relinked to the pre-existing component in the Target Branch. Let’s look at an example.
Below we have two branches: BranchA and BranchZ. You can make three observations about these branches:
BranchA contains ReferenceA topic and a link between ReferenceA and ConceptB.
BranchZ contains TaskC and a link between TaskC and ConceptB.
Both BranchA and BranchZ contain the ConceptB topic.
This is what happens when you merge BranchA into BranchZ:
When you merge BranchA (Source Branch) into BranchZ (Target Branch), the following occurs:
A copy of Map ABC is created in BranchZ.
The link in ReferenceA to ConceptB is relinked to the existing ConceptB in BranchZ.