从cmd中转义git config中的双引号

时间:2014-08-27 18:57:36

标签: git cmd

我想创建一个批处理文件,用于初始化.gitconfig文件中的所有键/值。

我在尝试从cmd设置以下部分时遇到了麻烦:

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

我试过了:

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

但结果是:

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

我应该如何从cmd中删除双引号?

1 个答案:

答案 0 :(得分:4)

" Git on Windows: How do you set up a mergetool?"的答案提出:

  
      
  • 来自git bash会话:
  •   
git config --global mergetool.p4merge.cmd 'p4merge.exe \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"'
  
      
  • 或者,来自windows cmd.exe shell:
  •   
git config --global mergetool.p4merge.cmd "p4merge.exe \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\""

所以这取决于你是否推出了git-bash.batgit-cmd.bat