Git未知开关'C'

时间:2014-10-01 15:29:59

标签: git git-add

我有一个奇怪的案例 - 我的git一直工作到一个小时左右,但现在我试图运行

git add * --all

我收到错误消息错误:未知切换`C'

以下是我得到的输出。我刚从具有一些变化的仓库中撤出,之后我开始收到此错误。尝试戳了一下,发现错误来自*符号。如果我删除它,它可以工作....

$ git add * --all
error: unknown switch `C'

usage: git add [options] [--] <pathspec>...

-n, --dry-run         dry run
-v, --verbose         be verbose

-i, --interactive     interactive picking
-p, --patch           select hunks interactively
-e, --edit            edit current diff and apply
-f, --force           allow adding otherwise ignored files
-u, --update          update tracked files
-N, --intent-to-add   record only the fact that the path will be added later

-A, --all             add changes from all tracked and untracked files
--ignore-removal      ignore paths removed in the working tree (same as --no-all)
--refresh             don't add, only refresh the index
--ignore-errors       just skip files which cannot be added because of errors
--ignore-missing      check if - even missing - files are ignored in dry run

3 个答案:

答案 0 :(得分:4)

您不应该像参数之类的选项(如--all)(如文件名)。所以尝试切换它们:

git add --all *

此外,如果文件名以减号开头,则会将其误解为一个选项(文件-Clown看起来像命令行上的程序-C -l -o -w -n}。要缓解这种情况,您可以使用--停止选项解析:

git add --all -- *

答案 1 :(得分:1)

开关应该在文件列表之前 - 我猜你有一个名为C的文件,*由shell扩展。但请注意,使用--all时,您无需提供文件列表:

git add --all

答案 2 :(得分:0)

您可能正在Powershell控制台中运行。 (那是我的情况)

(如果要将输出保留在同一控制台窗口中,则可以通过file = open('file.txt', 'r').read() print(file.split('CHAIN')) # if you want to remove the new spaces (\n) print([text.strip() for text in file.split('CHAIN')]) 在控制台中启动“普通”命令。(尽管它将具有自己的历史记录),然后通过{ {1}}。)