2015-06-18 164 views
2

我已經創建了一個文件a,名稱爲--。我如何將它添加到git存儲庫?將一個名爲「 - 」的文件添加到git存儲庫中

我知道我可以做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 .'? 

那麼,如何添加一個名爲--爲提交做準備的文件?

+2

爲什麼你想要一個名爲'--'的文件嗎?它只會導致悲傷。如果你添加了那個,你還會添加'-f'和'-r'以及只是'-'嗎?糟糕,糟糕的主意。 –

+1

@JonathanLeffler打破混帳? :-)只是試驗,找出事情是如何工作的。 –

+2

好。 '--'的問題並不是'git'專有的;它是POSIX記錄的一個廣泛使用的約定。你使用與看起來像一個選項的其他文件名一樣的機制。使用完整路徑'$ PWD/- '或相對路徑'。/ - '或者人們建議的 - 使用'--'來標記參數的結尾。但是'--'在Unix中具有傳統意義的事實意味着一個名爲'--'的文件將從現在開始直到你移除它的那一天(這是人們希望的一天,現在就是!)。 –

回答

6

您可以使用:

git add ./-- 

或:

git add $PWD/-- 

甚至:

git add -- -- 

這些是處理那些看起來像選擇不恰當命名文件的所有標準技術一個命令,但實際上是文件。這些技巧的標準要求是rm -f ./--mv ./-- ./something-meaningful

我們強烈建議反對名爲--曾經創建的文件。

這是一個具有標準含義的Unix命令的名稱,一般基於POSIX的授權。許多命令使用它來標記選項的結尾,並指示「文件名」(非選項)參數在參數--之後。

因此,幾乎每次你需要對文件進行一些操作時,你都必須特別處理它的名字。這不值得。任何試圖和你一起在你的倉庫上工作的人都會恨你。你甚至不能編輯它:vim --不會編輯文件--!好;有編輯它的方法,如vim ./--vim -- --,但這是令人厭惡的。 (您不能cat文件;不能在文件中使用lessmore;你不能cpmv的文件,你不能ls -l --列出文件,...)

4
git add -- -- 

第一--告訴Git的停止解析選項,並接受一切,文件名後。

+0

大衛比你快。 :-)我會接受他的回答。謝謝你的答案! –

+0

@IonicăBizău,根據我的屏幕我比戴維快:-)。但我很高興你有答案。接受任一個。 – Chris

+2

克里斯擊敗了我8秒:) –

4

git add -- --

「 - 」用於git命令從選項中分離路徑。

+0

不只是在Git命令中。 – Jubobs

相關問題