我大致知道他們做了什麼,但他們在哪裏來的呢?他們有正式的名字嗎?我也經常在shell命令中看到類似的字母,後面跟着破折號。git中的破折號是什麼?如:-a -b -p
我不能露面的答案經過一番快速搜索,因爲我不能搜索「-a」,「-b」等,因爲破折號不被搜索引擎拾起。
編輯:我發現了一個搜索引擎來查找這樣的事情:symbolhound
我大致知道他們做了什麼,但他們在哪裏來的呢?他們有正式的名字嗎?我也經常在shell命令中看到類似的字母,後面跟着破折號。git中的破折號是什麼?如:-a -b -p
我不能露面的答案經過一番快速搜索,因爲我不能搜索「-a」,「-b」等,因爲破折號不被搜索引擎拾起。
編輯:我發現了一個搜索引擎來查找這樣的事情:symbolhound
那些被稱爲開關。它們在命令行中非常常見。大多數開源軟件(如git)使用像getopt這樣的庫來讀取這些文件。格式是完全可預測:
在這兩種情況下取決於交換機,可能需要也可能不需要VALUE。在你的例子中,他們沒有使用。閱讀手冊頁或運行command --help
通常會告訴您哪些交換機受支持。
它們常用的選項;像getopt
和popt
這樣的編程工具或多或少地以標準方式解析它們。你會在Unix中遇到它們,比如標準的ls -l
選項,以「長形式」而非短形式列出。
-
的關鍵不是它只是一個任意但常規的字符,很少發生在例如文件或分支名稱的開頭,所以相對容易區分「行爲不同」和「在這件事情上操作」的工具。
謝謝你的回答言簡意賅,這就是我一直在尋找。 – CornSmith 2012-02-18 01:55:25
破折號標記選項命令。因此,-a
是一種選擇,而-b
是另一種選擇。
的原因還有一個破折號,讓您和該命令知道它是一個選項。因此,例如,
git commit --amend main.c
--amend
之前破折號清楚地表明--amend
是一種選擇,而main.c
沒有破折號,所以它是一個正規的說法。
,這是它幾乎與所有shell命令的方式。有關更多詳細信息,請參見a man page。
除了在其他答案中已經解釋過的內容,請注意,有一個git help
命令將提供有關所有子命令選項的信息。
例如,在輸出git help commit
,你會看到以下內容:
OPTIONS
-a, --all Tell the command to automatically stage files that have been modified and deleted, but new files you have not told git about are not affected.
啊,所以 - 只是表示這個選項被拼寫成完整的單詞。謝謝,我一直在想這件事。 – CornSmith 2012-02-18 01:48:37
謝謝你,我一直想知道你和今天jcollado的帖子之間的區別。 – CornSmith 2012-02-18 01:51:15