escape double quotes in git config from cmd

2020-02-28 09:53发布

I want to create a batch file that initializes all the key/values in my .gitconfig file.

I have troubles trying to set the following section from cmd:

[mergetool "p4merge"]
    cmd = p4merge "$BASE" "$LOCAL" "$REMOTE" "$MERGED"

I tried:

git config --global mergetool.p4merge.cmd "p4merge \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\""

But the result is:

[mergetool "p4merge"]
    cmd = p4merge \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"

How should I escape that double quotes from cmd?

标签: git cmd
1条回答
We Are One
2楼-- · 2020-02-28 10:38

The answer to "Git on Windows: How do you set up a mergetool?" proposes:

  • From a git bash session:
git config --global mergetool.p4merge.cmd 'p4merge.exe \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"'
  • or, from a windows cmd.exe shell:
git config --global mergetool.p4merge.cmd "p4merge.exe \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\""

So it depends if you launched git-bash.bat or git-cmd.bat

查看更多
登录 后发表回答