for Windows and Linux
for macOS Ctrl+Alt+S
Use this page to specify the version control settings that will be applied to the directories of your project that are under Git control.
Path to Git executable
In this field, specify the path to the Git executable file. Type the path or click Browse and specify the path in the dialog that opens.
Click this button to verify the path to the Git executable file.
Set this path only for current project
Select this option if you want to use different paths for different projects, and don't want this setting to be applied globally.
Execute branch operations on all roots
This option only becomes available if you have a multirooted project, that is there are several Git repositories within a single project.
Select this option if you want branch operations (such as
Commit automatically on cherry-pick
When you cherry pick a specific commit, the Commit Changes dialog is displayed. If the Commit automatically on cherry-pick option is selected, the selected commit is submitted silently on clicking the cherry-pick button , without displaying the Commit Changes dialog.
Add the 'cherry-picked from <hash>' suffix when picking commits pushed to protected branches
Select this option if you want to keep a reference to the original commit when cherry-picking a commit from a protected branch. By default, no suffix is added when cherry-picking a change.
Warn if CRLF line separators are about to be committed
Select this option to enable smart handling of
If this option is deselected, you will have to fix issues with line endings manually using the Difference Viewer dialog.
Warn when committing in detached HEAD or during rebase
Select this option if you want MPS to display a warning when a commit is performed from a detached head or on rebase, as this may cause issues and code loss.
Explicitly check for incoming commits on remotes
| If this option is enabled, MPS will check if there are pending incoming commits that have not been fetched to your local repository, and will mark such branches in the Branches popup. |
Select how you want to MPS to query the remote to check for incoming commits:
Use this list to choose the strategy to synchronize your local repository with the remote storage. The selected method will be used when the
Clean working tree using
| Select how you want uncommitted changes to be treated when you perform a project update: |
Auto-update if push of the current branch was rejected
Select this checkbox if you want the current branch to be updated automatically if the
If this option is deselected, MPS will display the Push Rejected dialog when pushing a branch is rejected because your local repository and the remote storage are not synchronized.
Note the following:
Show Push dialog for Commit and Push
Select this option if you want the Push dialog to be displayed after you've clicked Commit and Push in the Commit Changes dialog. Otherwise, your changes will be pushed automatically to the affected repository.
Show Push dialog only when committing to protected branches
Select this option if you only want to show the Push Changes dialog if you are pushing to a protected branch when you've clicked Commit and Push in the Commit Changes dialog. Otherwise, your changes will be pushed automatically to the affected repository.
If you want to disable the ability to force push changes for certain branches, list them here (this is a team-shared parameter that is stored in .idea/vcs.xml).
You can list several branches separated by a semicolon, or supply branch patterns as the input is treated as a list of regular expressions.
Use credential helper
Select this option if you don't want to override credential helpers, which is the default behavior. You will be able to authenticate using a credential helper in the Git login dialog.
Filter Update Project information by paths