# Git Advanced

Git Advanced provides a full-featured Git interface for experienced users who need complete control over their version control workflow. It offers all standard Git operations including selective staging, advanced branching, and detailed commit management.

{% hint style="info" %}
Choose Git Advanced if you're comfortable with Git concepts, need granular control over staging files, or want to perform complex Git operations. You can switch from Git Lite anytime in  [IDE Preferences](/app-help/documentation/code-ide/user-interface/ide-preferences.md).
{% endhint %}

## Create or switch Branches <a href="#create-or-switch-branches" id="create-or-switch-branches"></a>

To create a new branch click on the branch name on the bottom-left of your screen, from the menu select `Create a new branch` and add the new branch name. Press `Enter` to create your new branch.

{% hint style="info" %}
Make sure to Publish to remote the new branch you just created.
{% endhint %}

{% @arcade/embed flowId="uWAtf8lqRU4EOhFZDEPG" url="<https://app.arcade.software/share/uWAtf8lqRU4EOhFZDEPG>" %}

{% hint style="warning" %}
The default Git behavior is to create a new branch form the currently checked out branch. If you want to create a new branch based on the latests version of Main/Master, make sure to:

1. First select the Main/Master branch
2. Update your local Main/Master by doing a Git Pull
3. Now create the branch from the UI
   {% endhint %}

## Commit and Push your Changes <a href="#commit-and-push-your-changes" id="commit-and-push-your-changes"></a>

### Staging changes <a href="#staging" id="staging"></a>

When using Git Advance before committing you changes you need to select which files you want to stage first. This is the equivalent of the Git command [`git add`](https://www.atlassian.com/git/tutorials/saving-changes). Here you can choose to stage all you changed files or selectively choose the file to be included in the next commit.

### Commit your changes and push to remote

After you staged you changes you can now enter a commit message and click on the commit button on the top of the Git Advance panel option or from the More options context menu.

{% @arcade/embed flowId="13PjzeH0kpzcjltO09YR" url="<https://app.arcade.software/share/13PjzeH0kpzcjltO09YR>" %}

## Open Pull Request <a href="#open-pull-request" id="open-pull-request"></a>

Now that you have created your commits and pushed your changes you can use the Open Pull Request option to go directly to your Git Provider interface and open a PR for review.

{% @arcade/embed flowId="G5Zn3IjRVyqZz1guJskH" url="<https://app.arcade.software/share/G5Zn3IjRVyqZz1guJskH>" %}

## Merge Conflicts <a href="#merge-conflicts" id="merge-conflicts"></a>

In the event where you have merge conflicts, Paradime can help you resolve them. See our merge conflict documentation for details.&#x20;

{% content-ref url="/pages/3VOZmDVs0m2Zo6Nv5CmT" %}
[Merge Conflicts](/app-help/concepts/working-with-git/merge-conflicts.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paradime.io/app-help/concepts/working-with-git/git-advanced.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
