分享至
若有一個檔案已被git add, 現在想讓它變成沒有被add的狀態, 我知道可以使用 git reset -- <我的檔名> , 但我發現就算不打上兩個減號 --, 也就是git reset <我的檔名> , 也有同樣的效果, 想請問那為什麼還要打上 -- 呢? 同理, 我也發現git checkout -- <檔名> 和 git checkout <檔名>, 也就是 -- 加或不加都沒有差別
已邀請的邦友 {{ invite_list.length }}/5
關於這部分官網有解釋
-- This option can be used to separate command-line options from the list of files, (useful when filenames might be mistaken for command-line options).
這是代表 -- 的後面一定是一個文件名,而不會被當作命令執行 的意思嗎?
正確來說是避免被當成終端機指令進行造成錯誤
謝謝你提供官方文件說明。而我自己實際做了實驗: 我先建一個文字檔,檔名就叫add,沒設副檔名,之後執行git add add,結果成功把檔案"add"加到暫存區,沒有發生錯誤,然後再執行git reset add,也是成功了,看來刻意把檔名取的跟指令一樣也沒問題。之後再執行commit和push,也都沒發生錯誤。當然以防萬一還是聽話一點,照官方的方法來做,我只是提出一個個人的小小發現,謝謝。
IT邦幫忙