添加名为" - "的文件到一个git存储库

时间:2015-06-18 15:52:03

标签: git

我创建了一个名为--的文件。如何将其添加到git存储库?

$ git status
On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        --

nothing added to commit but untracked files present (use "git add" to track)

我知道我可以git add .,但我不想。我想知道如何专门添加名为--的文件。

我试过了:

$ git add --
Nothing specified, nothing added.
Maybe you wanted to say 'git add .'?
$ git add "--"
Nothing specified, nothing added.
Maybe you wanted to say 'git add .'?
$ git add '"--"'
fatal: pathspec '"--"' did not match any files
$ git add \-\-
Nothing specified, nothing added.
Maybe you wanted to say 'git add .'?

那么,如何添加名为--的文件来准备提交?

3 个答案:

答案 0 :(得分:6)

您可以使用:

git add ./--

或:

git add $PWD/--

甚至:

git add -- --

这些都是处理不恰当命名的文件的标准技术,这些文件看起来像命令的选项,但实际上是文件。这些技巧的标准要求是rm -f ./--mv ./-- ./something-meaningful

强烈建议您不要创建名为--的文件。

根据POSIX的授权,它通常是Unix命令的标准含义。许多命令使用它来标记选项的结尾,并指出&#39;文件名&#39; (非选项)参数跟在--参数之后。

所以几乎每次你需要对文件做一些事情时,你都要特别对待它的名字。这不值得。任何试图在你的存储库上与你合作的人都会讨厌你。您甚至无法对其进行编辑:vim --不会编辑文件--!好;有一些方法可以对其进行编辑,例如vim ./--vim -- --,但这是令人讨厌的。 (您无法cat该文件;您无法在文件中使用lessmore;您无法cp或{ {1}}文件;您无法使用mv列出文件,...)

答案 1 :(得分:4)

git add -- --

第一个--告诉Git停止解析选项并接受作为文件名后的所有内容。

答案 2 :(得分:4)

git add -- --

&#34; - &#34;在git命令中用于将路径与选项分开。