# 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](https://docs.paradime.io/app-help/documentation/code-ide/user-interface/ide-preferences).
{% 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="merge-conflicts" %}
[merge-conflicts](https://docs.paradime.io/app-help/concepts/working-with-git/merge-conflicts)
{% endcontent-ref %}
