> ## Documentation Index
> Fetch the complete documentation index at: https://bruno-a6972042-tutor-mock-server.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Consumer Guide

This guide covers Git operations for team members who clone and consume shared collections.

<Info>
  Cloning, fetching, and pulling are available in the **free version** starting from Bruno 3.0.0. Choosing which remote and branch to pull from requires [Pro or Ultimate](https://www.usebruno.com/pricing).
</Info>

## Cloning Collections from GitHub

To clone a collection from GitHub into **Bruno**, you need to have an existing collection repository hosted on GitHub.

For example, you can use this [Bruno repository](https://github.com/usebruno/github-rest-api-collection) and follow the steps below.

1. Launch **Bruno** and click the **Import Collection** button in the Quick Actions section on the Overview page. Alternatively, click the **+** icon in the sidebar and select **Import collection**.

<img src="https://mintcdn.com/bruno-a6972042-tutor-mock-server/_d0ogPO1yOVcw4ce/images/screenshots/git-integration/git-gui/consumer/1-import-option.webp?fit=max&auto=format&n=_d0ogPO1yOVcw4ce&q=85&s=1706e36becc3951f33e4d2f6c6cf8c5e" alt="Import Option" width="2818" height="1780" data-path="images/screenshots/git-integration/git-gui/consumer/1-import-option.webp" />

2. In the Import Collection dialog, select the **Git Repository** tab.

3. Enter the **Git repository URL** and click the **Clone** button.
   <img src="https://mintcdn.com/bruno-a6972042-tutor-mock-server/_d0ogPO1yOVcw4ce/images/screenshots/git-integration/git-gui/consumer/2-click-clone-repo.webp?fit=max&auto=format&n=_d0ogPO1yOVcw4ce&q=85&s=5a34d74b4d37e75b84931d4e9ef9a9ab" alt="Clone Repository" width="2744" height="1146" data-path="images/screenshots/git-integration/git-gui/consumer/2-click-clone-repo.webp" />

4. Choose a **Location** to clone the collection to.
   <img src="https://mintcdn.com/bruno-a6972042-tutor-mock-server/_d0ogPO1yOVcw4ce/images/screenshots/git-integration/git-gui/consumer/3-enter-repo-location.webp?fit=max&auto=format&n=_d0ogPO1yOVcw4ce&q=85&s=2e142149c16ec49f7dcd6ddf9309809d" alt="Choose Location" width="2242" height="1108" data-path="images/screenshots/git-integration/git-gui/consumer/3-enter-repo-location.webp" />

5. After the cloning process completes, select the **Collection** you want to open and click **Open**.

<img src="https://mintcdn.com/bruno-a6972042-tutor-mock-server/_d0ogPO1yOVcw4ce/images/screenshots/git-integration/git-gui/consumer/4-collection-open.webp?fit=max&auto=format&n=_d0ogPO1yOVcw4ce&q=85&s=3fb31cd218a4bc584a8686e3edd57927" alt="Collection Open" width="2194" height="1182" data-path="images/screenshots/git-integration/git-gui/consumer/4-collection-open.webp" />

Your collection will now be open in **Bruno**.

## Checking for Updates

You can check if there are new changes available in the remote repository.

1. Go to **Git UI**.
2. Click the **Fetch** button.
3. Bruno will display if there are incoming changes available.

This allows you to see if your team has pushed new changes before you pull them.

## Pulling Changes

Pull the latest changes from the remote repository to stay synchronized with your team.

1. Go to **Git UI** from top-right navbar icon.
2. Click the **Pull** button.
3. Bruno opens the **Pull from other branches** dialog and fetches your remotes and branches.
4. Select the branch you want to pull from. Your current branch is selected by default and is tagged **Current**.
5. If your collection has more than one remote, pick the one you want from the **Remote** dropdown above the branch list.
6. The note at the bottom of the dialog confirms where the changes will land, such as *Changes will be merged into main (current branch)*.
7. Click **Pull from selected branch**.

<Note>
  Remote branches appear as `<remote>/<branch>` e.g. `origin/main`. Use the **Search branches...** box to filter longer lists.
</Note>

<img src="https://mintcdn.com/bruno-a6972042-tutor-mock-server/Iy1qgjWbq6Y1fgCQ/images/screenshots/v4/chores/git-pull.webp?fit=max&auto=format&n=Iy1qgjWbq6Y1fgCQ&q=85&s=f4a4e7560a5d51bfd0d303f8dff8fe7c" alt="Pull from other branches" width="2600" height="1236" data-path="images/screenshots/v4/chores/git-pull.webp" />

Now you can see all your remote changes pulled in your collection.

<Note>
  Picking a remote and a branch requires [Pro or Ultimate](https://www.usebruno.com/pricing). In the free version, **Pull** fetches and merges the branch your current branch already tracks, without opening the dialog.
</Note>

<Tip>
  If you select a **local** branch other than the one you're on, Bruno switches to that branch before merging, so you don't have to check it out first.
</Tip>

### When a Pull Fails

If the pull cannot complete, the dialog stays open and shows the Git output for the operation, and the primary button changes to **Close**. Close the dialog and click **Pull** again to retry.

Retrying helps with transient failures such as a network timeout or a slow remote. For failures that need a fix first uncommitted local changes, or a branch that has diverged from the remote resolve the underlying issue before pulling again.

<Info>
  If you have local uncommitted changes when pulling, you may be prompted to stash them first. The [Stash Changes](../using-gui/provider#stash-changes) feature (Pro/Ultimate) helps manage this workflow.
</Info>
