What commands are actually run when you Synchronise Changes in Visual Studio Code?
From the VSCode online help:
Given that your repository is connected to some remote and that your checked out branch has an upstream link to a branch in that remote, VS Code offers you useful actions to push, pull and sync that branch (the latter will run a pull command followed by a push command).
It appears that if you run synchronize changes on a given branch, it will do the following:
git pull origin someBranch
git push origin someBranch
Per the comment by @FelikZ one way to make pull --rebase
the default behavior for git pull
would be to configure your .gitconfig
file by adding the following:
[pull]
rebase = true
Then, when the VSCode plugin issues a git pull
, it should use the rebase strategy by default. If you follow the above link and scroll to the section "Git patch/diff mode," you will see a screen capture which actually shows configuring Git for pulling via rebase.
Update: As of v1.28 there is now a git.rebaseWhenSync
setting. From the release notes:
The git.rebaseWhenSync setting will let you configure the Sync command to always use rebase instead of merge when running.
Visual Studio Code sync sequence : PUSH + PULL screen shot from VS Code
Visual Studio 2019 sync sequence : PULL + PUSH screen shoot from Visual Studio 2019 documentation