我想在包含括号的完整路径的文件上运行git add -p
,如下所示:
git add -p "(External)/Project/Filename.cs"
但是,当我运行它时,我收到以下错误:
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `git ls-files -- (External)/Project/Filename.cs'
我也尝试使用\
转义括号,但是我得到了同样的错误。为了进行比较,常规git add
与括号没有问题。
如何将此文件传递给git add -p
?
答案 0 :(得分:3)
你很可能在你的shell错误地转出括号时出现问题。
使用以下内容,为我工作(不需要引号,只使用反斜杠转义括号):
git add -p \(External\)/Project/Filename.cs
为了执行转义权限,我发现使用bash的自动完成功能非常有用,类似下面的内容有助于以“bash-safe”方式构建文件名。
git add -p \(E[tab]...
如果这没有帮助,您可以尝试先将cd
放入“(外部)/项目”然后再使用
git add -p Filename.cs
<强>更新强>
如果您使用W32(显然是这种情况),那么我可以确认问题。
到目前为止,我发现的唯一解决方法是使用git gui
,这对于git add -p
来说只是一个很好的前端,即使用圆括号也可以使用。