3

Using Git and I want to merge branch lisa into my master branch, like this:

$ git merge lisa

So I opened my repository and then to .git in the Windows Explorer, to reach the .config (Git config file):

[diff]
    tool = vscode
[difftool]
    prompt = true
[difftool "vscode"]
    cmd = \"C:\\Program Files\\Microsoft VS Code\\Code.exe\" \"$LOCAL\" \"$REMOTE\" --diff --wait
    trustExitCode = false

My issue is that when I write the following command:

git difftool

I see the differences in cmd itself, instead of having vscode launched for editing and merging.

What's the issue here? Why isn't Visual Code launched?

Also tried

git difftool --tool=vscode

but same issue.

annepic
  • 1,147
  • 3
  • 14
  • 24

2 Answers2

5

I actually don't need to set any difftool when working with VSCode.

Simply do your merge, then open the root folder of your Git repo folder with VSCode.
If you have installed GitLens, you will see all the changes, including possible conflicts. And you will be able to resolve said conflict directly from VSCode.


That being said, the config needed seems simpler in "How to use Visual Studio Code as Default Editor for Git MergeTool"

git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"

(this assumes here that C:\\Program Files\\Microsoft VS Code is on your %PATH% or $PATH)

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
2

Assuming you have code command in your path, you can also just run the following command in your terminal:

git difftool -x "code --wait --diff"  

No need to touch the git configurations

Gomino
  • 12,127
  • 4
  • 40
  • 49