【问题标题】:escape double quotes in git config from cmd从 cmd 转义 git config 中的双引号
【发布时间】:2021-06-15 16:32:56
【问题描述】:

我想创建一个批处理文件来初始化我的.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 中转义双引号?

【问题讨论】:

  • 您是从 cmd.exe 还是 git bash 尝试的?
  • 我从 cmd 运行它
  • 尝试使用单引号的其他选项,看看是否效果更好。
  • 带单引号的选项在 windows cmd 中不起作用:(

标签: git cmd


【解决方案1】:

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,使用 3 个双引号 """ 转义一个 "
git config --global mergetool.p4merge.cmd "p4merge.exe """$BASE""" """$LOCAL""" """$REMOTE""" """$MERGED""""

所以这取决于你是启动git-bash.bat 还是git-cmd.bat

CMD 中的其他示例:

git config --global core.editor """"C:\Users\vonc\AppData\Local\Programs\Microsoft VS Code\Code.exe""" --wait"
# or
git config --global core.editor """"C:/Program Files/Notepad++/notepad++.exe""""

【讨论】:

猜你喜欢
  • 2021-07-22
  • 1970-01-01
  • 2020-11-26
  • 1970-01-01
  • 2013-06-17
  • 2013-08-09
  • 1970-01-01
  • 2011-06-09
  • 1970-01-01
相关资源
最近更新 更多