網易雲課堂上的一個問題,事實上 使用 git checkout 也不會有問題。那 -- 到底是用來做什麼?搜了好久不知道哪個是正確答案,求解知道的大神~
走同样的路,发现不同的人生
用來做轉義的,例如你有個文件剛好叫master,你如果
git checkout master
那明顯只會去拉master這個分支的程式碼,與你所要的不符,當你執行
git checkout -- master
就是真正去拉master文件了
-- 代表「 無論如何,將其之後的 argument 視為一個檔案名稱(filename)」這是 Unix 通用慣例(而非 git 僅有),如:
--
rm -f # 不造成任何影响 rm -- -f # 删除一个名为 "-f" 的文件
如果你要操作的檔名前有-,就可以執行git checkout -- -file-,就可以执行 git checkout -- -file如果你要操作的文件名恰好也属于一个分支名,就可以执行 git checkout -- branch如果你要操作的檔名剛好也屬於一個分支名,就可以執行git checkout -- branch 以確保操作的是該(名為branch 的)檔案。
-
git checkout -- -file
git checkout -- branch
用來做轉義的,例如你有個文件剛好叫master,你如果
那明顯只會去拉master這個分支的程式碼,與你所要的不符,當你執行
就是真正去拉master文件了
--
代表「 無論如何,將其之後的 argument 視為一個檔案名稱(filename)」這是 Unix 通用慣例(而非 git 僅有),如:
如果你要操作的檔名前有
-
,就可以執行git checkout -- -file
-
,就可以执行git checkout -- -file
如果你要操作的文件名恰好也属于一个分支名,就可以执行
git checkout -- branch
如果你要操作的檔名剛好也屬於一個分支名,就可以執行git checkout -- branch
以確保操作的是該(名為branch 的)檔案。