Skip to main content

Branches

According to the official Git Documentation

Nearly every VCS has some form of branching support. Branching means you diverge from the main line of development and continue to do work without messing with that main line. In many VCS tools, this is a somewhat expensive process, often requiring you to create a new copy of your source code directory, which can take a long time for large projects.

Some people refer to Git’s branching model as its “killer feature,” and it certainly sets Git apart in the VCS community. Why is it so special? The way Git branches is incredibly lightweight, making branching operations nearly instantaneous, and switching back and forth between branches generally just as fast. Unlike many other VCSs, Git encourages workflows that branch and merge often, even multiple times in a day. Understanding and mastering this feature gives you a powerful and unique tool and can entirely change the way that you develop.

Quoting Atlassian's docs:

A branch represents an independent line of development. Branches serve as an abstraction for the edit/stage/commit process. You can think of them as a way to request a brand new working directory, staging area, and project history. New commits are recorded in the history for the current branch, which results in a fork in the history of the project.

Nearly every repository with production code employs a number of branches. A branching strategy refers to the strategy a software development team employs when writing, merging, and shipping code in the context of a version control system like Git. There are various strategies with the most popular being trunk-based development, Gitflow, GitHub flow

An analysis of branching is outside the scope of this document. Despite the adopted branching model, RAW supports them as first class citizens. Users have the ability to define an arbitrary number of branches, each potentially containing a different version of their endpoints, or even completely different endpoints. In any case, all of these branches can be visualized by RAW Branches tab. In this tab, users can view the available repository branches as well as their current status.

Branches

There are three elements of interest:

  • Name: branch name as defined in Git repository
  • API URL: this is the root URL specified in the site configuration
  • Status: Indication of whether the current branch is Active or not

This is a read-only view of the available branches. Control over these entities can only be accomplished via Git.