Categories


Popular topics


The Git branching model is a staple of the system and unique to Git alone. UEStudio includes full support for managing Git project branches via the "Branch manager" window.

You can open the Branch manager by any of the following methods:

  1. By selecting the "Show git branch" option in the Git sub-menu in the "Version control" group of the Project tab
  2. By double-clicking the current branch under the repository folder in the "Project" tab of the Workspace Manager.
  3. By selecting "Branch manager..." from the repository context menu in the "Explorer" / "Project" pane of the Workspace manager

UEStudio Git branch manager.png

The Branch manager includes the following components.

Repository drop down
The repository drop down shows the full folder path to the active Git repository. This drop down shows all Git repositories on your local system. Selecting a different Git repository here will make that repository the active Git repository in the Branch manager.

Current branch
This shows the HEAD branch name and the description of the last commit. The color of the Git icon reflects the status of the repository: green indicates no uncommitted changes, orange indicates uncommitted changes exist in one or more file, and red indicates a merge or rebase conflict.

Status... button
This button opens the Git shell window and updates it with the output of the Git "status" command for the active repository.

Commit changes button
This button stages and commits all uncommitted modifications in the active repository.

Push... button
This button pushes the local version of the repository to its remote location. This button is only available if the repository is linked to a remote branch.

Pull... button
This button pulls the remote version of the active repository into the local repository. This button is only available if the repository is linked to a remote branch.

Other branches list
This selectable list box shows all available branches in the active repository, including remote references. From here, you can double-click a branch to check it out, or single-click a branch to delete, merge, etc. Remote branches (references / tracking branches) are indicated by the subdued text (medium gray in the screenshot above) in the listing. Branches that have been merged into your active branch are indicated by a check mark next to the branch name. You can use Ctrl + Click and Shift + Click to select multiple branches for the operations below.

Branch filter
This text field allows you to begin typing the name of a branch to filter the branches list to just those that match.

Refresh button
This button refreshes the list of available branches for the active repository.

New branch / remote reference button
This button allows you to add a new branch or remote reference to the active repository. This offers two options: New branch or New remote reference. If New branch is selected, UEStudio prompts you to enter the new branch's name and then click OK to create and switch to the new branch. Select New remote reference to pull in branches from other users' repositories. If this is selected, UEStudio prompts you to enter the remote reference name (for example, "github"), and the remote URL (for example, "https://github.com/user/repo.git"). UEStudio then issues the commands to create the new remote reference, and the new branches will be populated in the "Other branches" list.

Checkout button
This button checks out the selected branch in the "Other branches" list. This button is disabled if no branch is selected. If you check out a remote branch, UEStudio will notify you that a local branch and tracking branch must be created in order to check out the remote branch. When the checkout is complete, UEStudio will prompt you regarding the new current branch, and the Branch manager dialog will update to reflect this. The new current branch will also be reflected in the "Project" tab of the Workspace Manager directly beneath the main repository folder.

Stashing
If you wish to switch branches but have uncommitted changes in the active branch, UEStudio will warn you of this and prompt you to stash your uncommitted changes before checking out the other branch. Stashing will leave the modified files of the active branch in a "modified/staged" state (indicated with an orange icon overlay). If you choose not to stash the changes, UEStudio will abort the checkout altogether. You can later reapply a stash by checking out the branch in which changes were stashed, right-clicking on the repository folder in the "Project" tab of the Workspace Manager, and selecting "Git" » "Reapply stash."

Delete button
This button deletes the selected branch(es) in the "Other branches" list with a prompt to confirm. If the selected branch(es) contains commits that have not yet been merged into another branch (meaning commits could be lost if the branch is deleted), UEStudio will display a warning and prompt you to confirm. This button is disabled if no branch is selected.

Merge control
The Git merging model is designed so that you must first check out the branch you want to merge onto, then run the merge command on the branch you want to merge from. In the merge control at the bottom of the Branch manager, the first drop down on the left allows you to choose whether to merge or rebase branches. (Refer to Git documentation for the differences.) The active branch is shown in the box on the right. You can then click and drag the branch you want to merge or rebase onto the active branch from the "Other branches" list to the empty box on the left. When you drop the branch onto the box, UEStudio will update it with the branch name and highlight its border color to indicate that the merge / rebase can be now be initiated. You can then click the Play button to run the Git merge / rebase. UEStudio will prompt you to confirm, then run the merge in the background with output shown in the Git shell. The merged / rebased branch is updated with a checkmark in the branch list to indicate it is now included in the active branch.