> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Merge from branch

export const designer = "Designer";

{designer} uses branches to allow multiple users to work separately and simultaneously within the same project.

After committing and pushing your changes to the remote branch, you can use **Merge from branch** to integrate changes from that remote branch to a local copy of another branch. This action combines the changes from two branches and creates a new unified version of the code. Read [Git overview](/docs/guides/git-overview) for more details of how {designer} manages the work of multiple users with Git features.

***

## Merge changes from another branch

| Property                   | Description                                                                                                                                                                                                                     |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Merge from (Remote branch) | A drop-down list that displays all branches in your project. This is the remote branch you want to merge your changes from, also known as the source branch. The latest commit on the selected source branch is also displayed. |
| Merge into (Local branch)  | This is your current branch, also known as the target branch where you want the changes from a remote branch to be merged into. You can't edit this field.                                                                      |
| Merge commit message       | A text field that is autopopulated by a default merge commit message, which is editable.                                                                                                                                        |

***

## Merge two branches

<Note>
  It's good Git practice to ensure your branch is up-to-date with the latest changes before making any changes to your branch, committing, and merging. To do this, use the **Pull remote changes** action.

  When merging, note that the changes from the remote branch designated as **Merge from**, are being merged into the local copy of your current branch, designated as **Merge into**. This means you can validate the changes in your local branch before pushing it up to the remote repository.
</Note>

To merge the work you have done on one branch to a different branch:

1. [Commit](/docs/guides/git-commit) the changes you have made while you are on your current branch.
2. [Push](/docs/guides/git-push) your local commit to the remote repository.
3. Switch to the branch you want to merge changes into, i.e. your target branch.
4. Click the name of your branch on the project bar.
5. Click **Merge from branch** in the drop-down menu.
6. The **Merge changes from another branch** panel shows the branch you are merging from (the remote branch) and the branch you are merging into (the local branch).
7. Select the remote branch you want to merge from. The **Remote branch to merge from** drop-down will display every branch in the current project.
8. Enter a **Merge commit message**. You can leave the default message, or replace it with one that has more detail about your changes, but you can't leave the field blank.
9. If there are no merge conflicts detected, click **Merge**. Otherwise, see [Resolving merge conflicts](#resolving-merge-conflicts), below.
10. Once you click **Merge**, you should see the remote changes integrated into your current branch.

***

## Resolving merge conflicts

A merge conflict occurs when you try to perform a merge of two branches that each contain changes to pipelines of the same name.

Since a branch can't have two pipelines of the same name, when you merge the branches, only one of the pipelines can be kept. If there is a merge conflict when you use the **Merge from branch** action, the **Merge changes from another branch** panel will warn you and require you to resolve the conflict before proceeding.

To resolve merge conflicts:

1. In the **Merge changes from another branch** panel, in the table listing the files that contain conflicts, click **Resolve conflicts**.
2. In the **Resolve conflicts** panel, you can see the difference between the local and remote versions of each conflicted file.
3. For each file, select either **Keep remote** to keep the version in the remote branch you are merging from, or **Keep local** to keep the version in your current branch.
4. After you have selected a version of each file to keep, click **Save & Continue**.
5. Enter a **Merge commit message**. You can leave the default message, or replace it with one that has more detail about your changes, but you can't leave the field blank.
6. Click **Merge**.
