1

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ですか?

編集:私がWindowsを使用していることは関連しているようです。

4

1 に答える 1

5

シェルが括弧を誤ってエスケープするという問題が発生している可能性が最も高いです。

以下を使用すると、うまくいきました(引用符は必要ありません。括弧をバックスラッシュでエスケープするだけです):

git add -p \(External\)/Project/Filename.cs

エスケープを正しく行うには、bash のオートコンプリート機能を使用すると非常に便利です。次のようなものは、「bash セーフ」な方法でファイル名を作成するのに役立ちます。

git add -p \(E[tab]...

これで問題が解決しない場合は、最初cdに「(外部)/プロジェクト」に入ってから使用してみてください。

git add -p Filename.cs

アップデート

W32 を使用している場合 (明らかにそうです)、問題を確認できます。私がこれまでに見つけた唯一の回避策は、 を使用することgit guiです。これは単に素敵なフロントエンドでgit add -pあり、括弧を付けても機能するようです。

于 2013-01-16T15:25:15.757 に答える