Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Orion/Documentation/User Guide/Reference/Repositories page"

(Repositories page)
(47 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
= Repositories page =
 
= Repositories page =
The <b>Repositories</b> 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.  
+
The <b>Repositories</b> 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 along with some basic information on staged files and commits.  To see [[#Repository_detailed_view|detailed information]] about a repository, click its name.  
  
 
[[Image:Orion-repository-page.png|Repositories page]]
 
[[Image:Orion-repository-page.png|Repositories page]]
  
To see detailed information about a repository, click its name. The detailed view includes all the usual Git repository details such as name and url. Additional sections on the page enumerate things like index state, incoming and outgoing commits, branches, and tags.  You can open and close most sections on the page using the twistie icon adjacent to the section name.  The branches and tags sections show you the most recently used items, but you can click the associated <b>View All</b> links to see full lists of anything.
+
Beside each repository are buttons to <b>Pull from the repository</b>, <b>Apply a patch</b> and <b>Delete the repository</b>.
  
[[Image:Orion-repository-page_details.png|Repository details]]
+
[[Image:Orion-tasks-pull.png|Pull a repository]]
  
== Repository configuration ==
+
== Adding repositories ==
  
The bottom of the repository page shows the configuration of the repository. On the main page you will see just <b>user.*</b>. To see the full list, click <b>View All</b>. From here you can add additional configuration properties to the repository, and change or delete properties.
+
Create a new empty repository by clicking <b>Init Repository</b> on the tool bar. Enter the folder where the repository should be created.
 +
[[Image:Orion-repository-page-init.png|Creating a new empty repository]]
  
[[Image:Orion-repository-page-config.png|Repository configuration]]
+
Click <b>Clone Repository</b> and enter a url to clone an existing Git repository. If the repository requires credentials to access or modify the repository a dialog will open where they can be entered.
  
== Adding repositories ==
+
[[Image:Orion-repository-page-clone.png|Cloning an existing repository]]
  
Create a new empty repository by clicking <b>Init Repository</b> on the tool bar, or click <b>Clone Repository</b> 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.
+
== Repository detailed view ==
 +
The detailed view displays all the usual Git repository details such as name and url. Additional sections on the page enumerate things like index state, incoming and outgoing commits, branches, and tags.  You can open and close most sections on the page using the twistie icon adjacent to the section name.  The branches and tags sections show you the most recently used items, but you can click the associated <b>View All</b> links to see full lists of anything.
  
== Actions on a repository ==
+
[[Image:Orion-repository-page_details.png|Repository details]]
  
You can delete an existing repository, navigate to the [[Orion/Documentation/User Guide/Reference/Navigator page|Navigator page]] or to [[Orion/Documentation/User Guide/Reference/Git Status page|Git Status page]] using actions in the <b>Repository</b> section.
+
You can pull the latest content, apply a patch, or delete an existing repository from the main toolbar on the page.  The <b>Related Links</b> menu allows you to navigate to other views on the repository, such as viewing the repository content on the [[Orion/Documentation/User Guide/Reference/Editor page|Editor page]] or working with the repository changes on the [[Orion/Documentation/User Guide/Reference/Git Status page|Git Status page]].
  
 
[[Image:Orion-repository-repo-actions.png|Repository actions]]
 
[[Image:Orion-repository-repo-actions.png|Repository actions]]
  
Clicking on the <b>Delete</b> action will pop up a confirmation dialog and you can decide if you want to delete it. Clicking <b>Show in Navigator</b> navigates to the [[Orion/Documentation/User Guide/Reference/Navigator page|Navigator page]].
+
== Submodules ==
 +
Submodules can be added and manipulated from the repositories dropdown menu.
  
== Adding branches ==
+
=== Cloning a repository with submodules ===
Once a repository is created or cloned, the <b>master</b> branch is set as the current branch. You can create your own branch, work on it and merge it back to master. Go to the <b>Branches</b> section and click <b>New Branch</b> action.  
+
When cloning a repository containing submodules, the default setting will clone all submodules recursively. If you do not wish to do this, click the <b>More</b> button and deselect the <b>clone submodules automatically</b> option.
  
[[Image:Orion-repository-page-add-branch.png|New branch button]]
+
[[Image:Orion-submodule-recursive-clone.png|Submodule recursive clone]]
  
Input the branch name. Hit 'Enter' to create the branch.
+
=== Adding submodules ===
 +
To add a new submodules to an existing repository, click the <b>add submodule</b> button.
 +
 
 +
[[Image:Orion-submodule-add.png|Submodule add]]
 +
 
 +
This will trigger a tooltip to provide the specified clone URL of the submodule you wish to add. Enter the clone URL in the input section and press the 'Enter' key or click the <b>Submit</b> button.
 +
 
 +
[[Image:Orion-submodule-clone.png|Submodule clone]]
 +
 
 +
Note: Nested submodules need to be initalized.
 +
 
 +
=== Initializing submodules ===
 +
When a submodule with a nested submodule is cloned, the nested submodule will not be initialized and display as an unknown repository in the repository dropdown menu, and as an empty folder in the editor.
 +
 
 +
To initialize a submodule, you can use the <b>sync</b> and <b>update</b> buttons in the repository dropdown menu, located in the immediate parent of the submodule. Click the <b>sync</b> button, then the <b>update</b> button.
 +
 
 +
[[Image:Orion-submodule-init.png|Submodule init]]
 +
 
 +
=== Committing and Pushing submodule changes ===
 +
If a change is made in a submodule, the change needs to be pushed to the submodule and all higher level repositories containing it.
 +
First, checkout the branch you wish to commit to, as the submodule will initially be in Detached Head state. Select the <b>Reference</b> dropdown and checkout the branch. Then, commit and push the changes as usual.
 +
These changes will then be reflected in the immediate parent.
 +
Note: There may be working directory changes reflected in parents other than the immediate parent of the changed submodule, but these cannot be committed until the changes are committed bottom up from the submodule.
 +
 
 +
=== Removing submodules ===
 +
To remove a submodules, navigate to the repository dropdown menu and click the <b>remove submodule</b> button(trashcan icon) associated with the submodule you wish to remove.
 +
 
 +
[[Image:Orion-submodule-remove.png|Submodule remove]]
 +
 
 +
This will also remove any nested submodules under the deleted submodule.
 +
 
 +
== Branches ==
 +
You can use the <b>Branches</b> section of the page to work with different branches.
 +
 
 +
=== Adding branches ===
 +
Once a repository is created or cloned, the <b>master</b> branch is set as the current branch. You can create your own branch, work on it and merge it back to master. To create a new branch, click the <b>New Branch</b> button, type in the new branch name, and press the 'Enter' key or click the <b>Submit</b> button.  
  
 
[[Image:Orion-repository-page-add-branch-name.png|Branch name dialog]]
 
[[Image:Orion-repository-page-add-branch-name.png|Branch name dialog]]
  
== Actions on a local branch ==
+
=== Actions on a local branch ===
  
 
Once a new branch is created, it is in the <b>local</b> repository but not in the <b>remote</b> yet. Next to each branch is a row of buttons as below. You can manage the branches using these actions.
 
Once a new branch is created, it is in the <b>local</b> repository but not in the <b>remote</b> yet. Next to each branch is a row of buttons as below. You can manage the branches using these actions.
Line 41: Line 79:
 
[[Image:Orion-repository-page-branch-actions-not-current.png|Action buttons]]
 
[[Image:Orion-repository-page-branch-actions-not-current.png|Action buttons]]
  
=== Deleting a local branch ===
+
==== Navigating to log page ====
  
From the branch actions, click <b>Remove Branch</b> to delete a local branch. A confirmation dialog will pop up and you can decide if you want to delete it.  
+
You can navigate to the [[Orion/Documentation/User Guide/Reference/Git Log page|Log page]] to see details on the branch. From the actions next to the branch, the link <b>Git Log</b> will take you to the Git log page.
  
[[Image:Orion-repository-page-branch-actions-delete.png|Delete button]]
+
==== Setting the active branch using checkout ====
  
=== Navigating to log page ===
+
The active branch is the branch that contains your working copy.  When you create a new branch, it is not automatically set as the active branch.  Suppose you created this branch to start work on a new feature.  From the actions next to the branch, click on the checkout icon to make the branch active.
  
You can navigate to the [[Orion/Documentation/User Guide/Reference/Git Log page|Log page]] to see details on the branch. From the actions next to the branch, the link <b>Git Log</b> will take you to the Git log page.
+
[[Image:Orion-repository-page-branch-actions-checkout.png|Checkout button]]
 +
 
 +
Once a branch is checked out, it is shown as bold and highlighted with a star.
 +
 
 +
[[Image:Orion-repository-page-branch-actions-checkout-bold.png|Active branch is bold]]
 +
 
 +
The active branch represents your working directory, and therefore the [[Orion/Documentation/User Guide/Reference/Git Status page|Git Status page]] will always reflect the status of the active branch.
  
=== Merging from the remote tracking branch ===
+
==== Merging branches ====
  
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 <b>push</b> it. From the actions next to the branch, click the <b>Merge</b> icon to merge from the remote tracking branch into your local working copy.  
+
Merging branches involves two branches:  the branch whose actions you are working with, and your active branch. For example, clicking the <b>Merge</b> icon for your newly created branch will merge its content to your active branch.  You can also merge from remote branches.  
  
 
[[Image:Orion-repository-page-branch-actions-merge-local.png|Merge button]]
 
[[Image:Orion-repository-page-branch-actions-merge-local.png|Merge button]]
  
<b>Please note</b> that you can achieve the same result by performing the same action in [[Orion/Documentation/User Guide/Reference/Git Log page|Log page]] or [[Orion/Documentation/User Guide/Reference/Git Status page|Status page]].
+
You can also merge branches in the [[Orion/Documentation/User Guide/Reference/Git Log page|Log page]] or [[Orion/Documentation/User Guide/Reference/Git Status page|Status page]].
  
=== Setting a local branch as current branch===
+
==== Rebasing commits ====
  
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 next to the branch, click on the last action to <b>checkout</b> the branch.  
+
When you have been making commits in a topic branch, with the intention of pushing the code into a different branch, it is often useful to rebase those commits on another branch. Rebasing will make your commits appear as if the changes were made based on the code in another branch.  Before rebasing, ensure all of your changes are committed to your topic branch and the branch you wish to rebase on is up to date.
  
[[Image:Orion-repository-page-branch-actions-checkout.png|Checkout button]]
+
[[Image:Orion-tasks-rebase.png|Rebasing a branch]]
  
Once a branch is checked out, it is shown as bold. <b>Please note</b> that from now the [[Orion/Documentation/User Guide/Reference/Git Status page|Git Status page]] will show the content on this branch.
+
==== Deleting a local branch ====
  
[[Image:Orion-repository-page-branch-actions-checkout-bold.png|Active branch is bold]]
+
From the branch actions, click the delete icon to delete a local branch. A confirmation dialog will pop up, providing you a chance to confirm your decision.
  
=== Pushing a local branch===
+
[[Image:Orion-repository-page-branch-actions-delete.png|Delete button]]
Once a branch is checked out, the actions next to a branch appear as follows:
+
  
[[Image:Orion-repository-page-branch-actions-push.png|Push All button]]
+
==== Pushing a local branch ====
 +
Once a branch is checked out, a list of recent commits for that branch will appear. Arrows next to the commits will indicate if the commits are incoming or outgoing. Click the <b>See Full Log</b> to open a full list of the commits to that branch.  There are a variety of actions you can click to perform Git operations on the branch.
  
Clicking on the <b>Push All</b> action will create a remote tracking branch if there is not one yet.
+
[[Image:Orion-repository-page-branch-actions-push.png|Displaying commits on a branch]]
  
<b>Please note</b> that you can achieve the same result by performing the same action in [[Orion/Documentation/User Guide/Reference/Git Log page|Log page]] or [[Orion/Documentation/User Guide/Reference/Git Status page|Status page]].
+
Clicking <b>Push All</b> will push all outgoing commits to the remote repository. For a newly created branch, you can choose an existing remote branch to push to, or more likely, create a new remote tracking branch for your work.
  
== Fetching remote branches ==
+
[[Image:Orion-branchselection.png|Remote branch selection]]
If somebody else has pushed their branches into <b>their repository/Remote/origin</b> but those branches do not appear in <b>your repository/Remote/origin</b> yet, you have to <b>fetch</b> them first. Let's say somebody has pushed a branch called <tt>newBr1</tt> in the remote. See the <b>Remote/origin</b> row in the <b>Remotes</b> section for the action icons.
+
  
[[Image:Orion-repository-page-fetch-remote.png|Remotes section]]
+
You can also push changes and create remote branches from the [[Orion/Documentation/User Guide/Reference/Git Log page|Log page]] or [[Orion/Documentation/User Guide/Reference/Git Status page|Status page]].
  
Click <b>Fetch</b>, and enter your credentials if required to access the repository. The remote branches are updated.
+
=== Viewing remote branches ===
 +
Clicking the <b>View All</b> link in the branches section of the page will show all of the branches for a repository, including the remote branches.
  
[[Image:Orion-repository-page-fetch-remote-result.png|Remotes section (updated after fetch)]]
+
[[Image:Orion-repository-page-remotebranches.png|Remote branches]]
  
== Actions on a remote branch ==
+
=== Updating the list of remote branches ===
 +
When someone creates a new remote branch in a repository, the branch will not appear in the branch list for other users until the repository is <b>fetched</b> or <b>pulled</b>.  For example, if you ask another developer to check out your "newFeature" branch, the branch will not appear if the repository hasn't been fetched or pulled since you created the branch.
  
The main page for a repository only shows some of your recently used local branches. To view remote branches, click <b>View All</b> in the toolbar at the top of the <b>Branches</b> section.
+
You can click <b>Pull</b> in the main toolbar, and enter your credentials if required to access the repository. The remote branches will be updated.
  
Many of the actions on a remote branch are different from those on a local branch, but the <b>Git Log</b> and <b>Merge</b> actions are the same. The <b>Git Log</b> action will navigate to the same log page but with the remote branch content. You can also switch to the local branch content there. Next to the remote branch name row in the Remote table, you will find the actions for managing that remote branch.
+
=== Actions on a remote branch ===
 +
 
 +
Many of the actions on a remote branch are different from those on a local branch, but the <b>Git Log</b> and <b>Merge</b> actions are the same. The <b>Git Log</b> action will navigate to the same log page but with the remote branch content. (You can switch to the local branch content from the log page). All of the actions applicable to remote branches appear in the remote branch list, adjacent to the branch.
  
 
[[Image:Orion-repository-page-branch-actions-remote.png|Branch actions]]
 
[[Image:Orion-repository-page-branch-actions-remote.png|Branch actions]]
  
=== Checking out a remote branch ===
+
==== Checking out a remote branch ====
  
Normally a newly fetched remote branch is not in your local branches yet. You have to <b>checkout</b> in order to work on it. From the actions next to the branch, click the <b>Checkout</b> icon.
+
To work with the content of a remote branch, you need to <b>check out</b> the remote branch.
  
 
[[Image:Orion-repository-branch-actions-remote-checkout.png|Checkout button]]
 
[[Image:Orion-repository-branch-actions-remote-checkout.png|Checkout button]]
  
The remote branch is checked out as the current local branch.
+
This will create a local branch if you don't already have one, and make that your active branch.
  
[[Image:Orion-repository-branch-actions-remote-checkout-result.png|Branches view (updated after remote branch checkout)]]
+
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". In this case, you should check out the local branch and fetch the remote, rather than check out the remote branch.
  
<b>Please note</b> 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".
+
==== Working with a remote branch ====
  
=== Fetching and merging content of a remote branch ===
+
When working with a remote branch, you can ensure you have the most current content by <b>fetching</b> the branch in the remote branches list.  (You can also <b>pull</b> the repository from the main toolbar which will fetch all branch content.)
  
You can <b>fetch</b> a remote branch and <b>merge</b> it to your active local branch. First, click <b>View All</b> in the <b>Branches</b> section of the page. This will show all local and remote (tracking) branches associated with the repository. From the actions next to a remote branch, there is a button to <b>Fetch</b> the latest contents from the remote into your personal remote tracking branch. Then, you can <b>Merge</b> or <b>Rebase</b> those changes into your active local branch.
+
[[Image:Orion-repository-branch-actions-fetch.png|Fetch button]]
  
[[Image:Orion-repository-branch-actions-fetch-merge.png|Merge/Rebase buttons]]
+
Once fetched, you can merge the content of the branch into your active branch.  Using the <b>merge</b> button will merge all commits from the remote into the active branch. Using the <b>squash</b> button will squash all changes into a single commit and then merge them into your active local branch.  Using the <b>rebase</b> button will rebase the changes in your active local branch on top of the content of the remote branch, so that your local commits will appear as if they were applied to the latest state of the remote branch..
  
If you want to fetch and merge changes for your active branch, you can also use actions in <b>Commits</b> section.
+
[[Image:Orion-repository-branch-actions-others.png|Merge/Rebase buttons]]
 +
 
 +
If you are working exclusively with your active branch (and remote tracking branch), you can also use actions in <b>Commits</b> section to fetch, merge, rebase, and push changes as you work.
  
 
[[Image:Orion-repository-branch-actions-fetch-merge_commitsection.png|Commits section header]]
 
[[Image:Orion-repository-branch-actions-fetch-merge_commitsection.png|Commits section header]]
  
<b>Please note</b> that you can achieve the same result by performing the same actions in [[Orion/Documentation/User Guide/Reference/Git Log page|Log page]] or [[Orion/Documentation/User Guide/Reference/Git Status page|Status page]].
+
==== Resetting local index from a remote branch ====
  
=== Resetting local index from a remote branch ===
+
You can also replace the contents of a local branch with the state of the remote branch by using the <b>reset</b> command on the remote branch.
 
+
You can also <b>reset</b> a local branch to replace with the contents of the remote tracking branch.
+
  
 
[[Image:Orion-repository-branch-actions-remote-reset.png|Reset button]]
 
[[Image:Orion-repository-branch-actions-remote-reset.png|Reset button]]
  
From the actions next to the <b>remote</b> branch, click the <b>Reset</b> icon to reset the local branch content. A dialog will pop up asking for confirmation.
+
A dialog will pop up asking for confirmation.
  
 
[[Image:Orion-repository-branch-actions-remote-reset-confirm.png|Confirm dialog]]
 
[[Image:Orion-repository-branch-actions-remote-reset-confirm.png|Confirm dialog]]
 +
 +
== Tags ==
 +
 +
The <b>Tags</b> section will the list the most recent tags added to the repository. Clicking the <b>View All</b> link will open a list with all tags. Buttons beside each tag will <b>Checkout</b> the tag, creating a local branch and <b>Delete</b> the tag.
 +
 +
[[Image:Orion-repository-page-tags.png|Tags section]]
 +
 +
== Remotes ==
 +
 +
The <b>Remotes</b> section of the repository page lists all the remotes you have set up for your repository. Actions beside each remote can <b>Fetch</b> from the remote or <b>Delete</b> it.
 +
 +
[[Image:Orion-repository-page-remotes.png|Repository remotes]]
 +
 +
Clicking on <b>New Remote</b> will open a dialog where you can enter a name and url for the new remote.
 +
 +
[[Image:Orion-repository-page-remotes-actions-new.png|Create a new remote]]
 +
 +
== Configuration ==
 +
 +
The <b>Configuration</b> section at the bottom of the repository page shows the configuration of the repository. On the main page you will see just <b>user.*</b>. To see the full list, click <b>View All</b>. From here you can add additional configuration properties to the repository and change or delete existing properties.
 +
 +
[[Image:Orion-repository-page-config.png|Repository configuration]]

Revision as of 11:53, 27 October 2015

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 along with some basic information on staged files and commits. To see detailed information about a repository, click its name.

Repositories page

Beside each repository are buttons to Pull from the repository, Apply a patch and Delete the repository.

Pull a repository

Adding repositories

Create a new empty repository by clicking Init Repository on the tool bar. Enter the folder where the repository should be created. Creating a new empty repository

Click Clone Repository and enter a url to clone an existing Git repository. If the repository requires credentials to access or modify the repository a dialog will open where they can be entered.

Cloning an existing repository

Repository detailed view

The detailed view displays all the usual Git repository details such as name and url. Additional sections on the page enumerate things like index state, incoming and outgoing commits, branches, and tags. You can open and close most sections on the page using the twistie icon adjacent to the section name. The branches and tags sections show you the most recently used items, but you can click the associated View All links to see full lists of anything.

Repository details

You can pull the latest content, apply a patch, or delete an existing repository from the main toolbar on the page. The Related Links menu allows you to navigate to other views on the repository, such as viewing the repository content on the Editor page or working with the repository changes on the Git Status page.

Repository actions

Submodules

Submodules can be added and manipulated from the repositories dropdown menu.

Cloning a repository with submodules

When cloning a repository containing submodules, the default setting will clone all submodules recursively. If you do not wish to do this, click the More button and deselect the clone submodules automatically option.

Submodule recursive clone

Adding submodules

To add a new submodules to an existing repository, click the add submodule button.

Submodule add

This will trigger a tooltip to provide the specified clone URL of the submodule you wish to add. Enter the clone URL in the input section and press the 'Enter' key or click the Submit button.

Submodule clone

Note: Nested submodules need to be initalized.

Initializing submodules

When a submodule with a nested submodule is cloned, the nested submodule will not be initialized and display as an unknown repository in the repository dropdown menu, and as an empty folder in the editor.

To initialize a submodule, you can use the sync and update buttons in the repository dropdown menu, located in the immediate parent of the submodule. Click the sync button, then the update button.

Submodule init

Committing and Pushing submodule changes

If a change is made in a submodule, the change needs to be pushed to the submodule and all higher level repositories containing it. First, checkout the branch you wish to commit to, as the submodule will initially be in Detached Head state. Select the Reference dropdown and checkout the branch. Then, commit and push the changes as usual. These changes will then be reflected in the immediate parent. Note: There may be working directory changes reflected in parents other than the immediate parent of the changed submodule, but these cannot be committed until the changes are committed bottom up from the submodule.

Removing submodules

To remove a submodules, navigate to the repository dropdown menu and click the remove submodule button(trashcan icon) associated with the submodule you wish to remove.

Submodule remove

This will also remove any nested submodules under the deleted submodule.

Branches

You can use the Branches section of the page to work with different branches.

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. To create a new branch, click the New Branch button, type in the new branch name, and press the 'Enter' key or click the Submit button.

Branch name dialog

Actions on a local branch

Once a new branch is created, it is in the local repository but not in the remote yet. Next to each branch is a row of buttons as below. You can manage the branches using these actions.

Action buttons

Navigating to log page

You can navigate to the Log page to see details on the branch. From the actions next to the branch, the link Git Log will take you to the Git log page.

Setting the active branch using checkout

The active branch is the branch that contains your working copy. When you create a new branch, it is not automatically set as the active branch. Suppose you created this branch to start work on a new feature. From the actions next to the branch, click on the checkout icon to make the branch active.

Checkout button

Once a branch is checked out, it is shown as bold and highlighted with a star.

Active branch is bold

The active branch represents your working directory, and therefore the Git Status page will always reflect the status of the active branch.

Merging branches

Merging branches involves two branches: the branch whose actions you are working with, and your active branch. For example, clicking the Merge icon for your newly created branch will merge its content to your active branch. You can also merge from remote branches.

Merge button

You can also merge branches in the Log page or Status page.

Rebasing commits

When you have been making commits in a topic branch, with the intention of pushing the code into a different branch, it is often useful to rebase those commits on another branch. Rebasing will make your commits appear as if the changes were made based on the code in another branch. Before rebasing, ensure all of your changes are committed to your topic branch and the branch you wish to rebase on is up to date.

Rebasing a branch

Deleting a local branch

From the branch actions, click the delete icon to delete a local branch. A confirmation dialog will pop up, providing you a chance to confirm your decision.

Delete button

Pushing a local branch

Once a branch is checked out, a list of recent commits for that branch will appear. Arrows next to the commits will indicate if the commits are incoming or outgoing. Click the See Full Log to open a full list of the commits to that branch. There are a variety of actions you can click to perform Git operations on the branch.

Displaying commits on a branch

Clicking Push All will push all outgoing commits to the remote repository. For a newly created branch, you can choose an existing remote branch to push to, or more likely, create a new remote tracking branch for your work.

Remote branch selection

You can also push changes and create remote branches from the Log page or Status page.

Viewing remote branches

Clicking the View All link in the branches section of the page will show all of the branches for a repository, including the remote branches.

Remote branches

Updating the list of remote branches

When someone creates a new remote branch in a repository, the branch will not appear in the branch list for other users until the repository is fetched or pulled. For example, if you ask another developer to check out your "newFeature" branch, the branch will not appear if the repository hasn't been fetched or pulled since you created the branch.

You can click Pull in the main toolbar, and enter your credentials if required to access the repository. The remote branches will be updated.

Actions on a remote branch

Many of the actions on a remote branch are different from those on a local branch, but the Git Log and Merge actions are the same. The Git Log action will navigate to the same log page but with the remote branch content. (You can switch to the local branch content from the log page). All of the actions applicable to remote branches appear in the remote branch list, adjacent to the branch.

Branch actions

Checking out a remote branch

To work with the content of a remote branch, you need to check out the remote branch.

Checkout button

This will create a local branch if you don't already have one, and make that your active branch.

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". In this case, you should check out the local branch and fetch the remote, rather than check out the remote branch.

Working with a remote branch

When working with a remote branch, you can ensure you have the most current content by fetching the branch in the remote branches list. (You can also pull the repository from the main toolbar which will fetch all branch content.)

Fetch button

Once fetched, you can merge the content of the branch into your active branch. Using the merge button will merge all commits from the remote into the active branch. Using the squash button will squash all changes into a single commit and then merge them into your active local branch. Using the rebase button will rebase the changes in your active local branch on top of the content of the remote branch, so that your local commits will appear as if they were applied to the latest state of the remote branch..

Merge/Rebase buttons

If you are working exclusively with your active branch (and remote tracking branch), you can also use actions in Commits section to fetch, merge, rebase, and push changes as you work.

Commits section header

Resetting local index from a remote branch

You can also replace the contents of a local branch with the state of the remote branch by using the reset command on the remote branch.

Reset button

A dialog will pop up asking for confirmation.

Confirm dialog

Tags

The Tags section will the list the most recent tags added to the repository. Clicking the View All link will open a list with all tags. Buttons beside each tag will Checkout the tag, creating a local branch and Delete the tag.

Tags section

Remotes

The Remotes section of the repository page lists all the remotes you have set up for your repository. Actions beside each remote can Fetch from the remote or Delete it.

Repository remotes

Clicking on New Remote will open a dialog where you can enter a name and url for the new remote.

Create a new remote

Configuration

The Configuration section at the bottom of the repository page shows the configuration of the repository. On the main page you will see just user.*. To see the full list, click View All. From here you can add additional configuration properties to the repository and change or delete existing properties.

Repository configuration

Back to the top