# Repositories page

The Repositories page allows you to view and manage the Git repositories associated with your Orion account. When you visit this page you will see a list of all Git repositories you currently have cloned. Expand a repository to view the local and remote branches available in your clone. The currently checked out local branch is shown in bold.

## Repository configuration

Click on any repository in your list to open a Repository configuration panel. From here you can add additional configuration properties to the repository, and change or delete properties using the command icons that hover next to each property in the list.

## Adding repositories

Create a new empty repository by clicking Init Repository on the tool bar, or click Clone Repository to clone an existing Git repository. Cloning will produce a dialog where you enter the Git repository URL, and optionally any credentials required to access or modify the repository.

## Actions on a repository

You can delete an existing repository or navigate to the Navigator page. Hover over the repository name row in the repositories table to pop up actions as below.

Clicking on the Delete action will pop up a confirmation dialog and you can decide if you want to delete it. Clicking Show in Navigator navigates to the Navigator page.

## Adding branches

Once a repository is created or cloned, the master branch is set as the current branch. You can create your own branch, work on it and merge it back to master. Hover over the Branch row in the repository table to pop up the Add Branch icon.

Click on the action and input the branch name. Hit 'Enter' to create the branch.

## Actions on a local branch

Once a new branch is created, it is in the local repository but not in the remote yet. Hover over the branch name row in the Branch table to pop up actions as below. You can manage the branches using these actions.

### Deleting a local branch

From the branch actions, click Remove Branch to delete a local branch. A confirmation dialog will pop up and you can decide if you want to delete it.

### Navigating to log page

You can navigate to the Log page to see details on the branch. From the actions when you hover over the branch, click on the Show Git Log as the link to the Git log page.

### Merging from the remote tracking branch

You can also perform a merge action if there is a remote tracking branch. But normally the remote branch does not exist for a newly created branch until you push it. From the actions when you hover over the branch, click the Merge icon to merge from the remote tracking branch into your local working copy.

Please note that you can achieve the same result by performing the same action in Log page or Status page.

### Setting a local branch as current branch

The newly created branch branch is not set as the current branch yet. Let's say you want to work on this branch now. From the actions when you hover over the branch, click on the last action to checkout the branch.

Once a branch is checked out, it is shown as bold. Please note that from now the Git Status page will show the content on this branch.

### Pushing a local branch

Once a branch is checked out, the actions change as below when you hover over the branch.

Clicking on the Push All action will create a remote tracking branch if there is not one yet.

Please note that you can achieve the same result by performing the same action in Log page or Status page.

## Fetching remote branches

If somebody else has pushed their branches into their repository/Remote/origin but those branches do not appear in your repository/Remote/origin yet, you have to fetch them first. Let's say somebody has pushed a branch called `newBr1` in the remote. Hover over the Remote/origin row in the repository table to pop up the action icons.

Click Fetch, and enter your credentials if required to access the repository. The remote branches are updated.

## Actions on a remote branch

Actions on a remote branch are different from those on a local branch. But the Show Git Log and Merge actions are same. The Show Git Log action will navigate to the same log page but with the remote branch content. You can also switch to the local branch content there. Hover over the remote branch name row in the Remote table to pop up actions as below. You can manage the remote branch by these actions.

### Checking out a remote branch

Normally a newly fetched remote branch is not in your local branches yet. You have to checkout in order to work on it. From the actions when you hover over the branch, click the Checkout icon.

The remote branch is checked out as the current local branch.

Please note that if you try to check out a remote branch that already has a local branch in your repository, you will get a warning message : "the local branch already exists".

### Fetching and merging content of a remote branch

You can fetch a remote branch and merge it to a local branch which is tracked by this remote branch. From the actions when you hover over the branch, click on the second and third action to fetch and merge from the remote tracking branch.

Please note that you can achieve the same result by performing the same actions in Log page or Status page.

### Resetting local index from a remote branch

You can also reset a local branch to replace with the contents of the remote tracking branch.

From the actions when you hover over the remote branch, click the Reset Index icon to reset the local branch content. A dialog will pop up asking for confirmation.

## Updating this document

This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit http://wiki.eclipse.org/Orion/Documentation/User_Guide/Reference/Repositories_page