當在它們之間存在顯著差異的分支之間切換時,Xcode 可能會變得非常不安/困惑(可能是由于 的未版本化內容xcuserdata)。
我發現可以通過確保我的作業副本處于干凈狀態來解決:
git clean -xfd
為了確保不會無意中丟失任何東西,試運行是一個好主意:
git clean -xfdn
現在,令人震驚的試運行輸出的最后一行是:
Would remove ~/
我的作業副本的根目錄離我的主目錄很遠。我找不到從我的作業副本“伸出”到~.
在此背景下,的確混帳意味著什么其他的~/?
為什么從 5 個目錄深的作業副本中,它可能認為~/需要洗掉?
uj5u.com熱心網友回復:
當 Git列出檔案(來自git clean、 或git ls-files或其他此類命令)時,它從不使用~/用戶的主目錄壓縮語法。因此,如果說“將洗掉?/”,這意味著Git的認為有一個目錄名為居住在當前目錄,和Git將其洗掉:git clean -n -d other-flags-if/as-desired-here~
$ git clean -nd
Would remove Syntax.md
$ mkdir \~
$ git clean -nd
Would remove Syntax.md
Would remove ~/
請注意,我\~在制作此目錄時必須使用。我也可以使用'~'或類似的:它是在這里擴展的外殼~。例如,Git 確實有自己的代碼可以擴展, ~這樣你就可以~/.config/git-foo在includeIf指令中參考檔案,但是這段代碼的應用有些不一致(基本上,“它應該在的地方”而不是“它不應該在的地方”,應該/ 不應該是一個判斷呼叫)。1
您可能沒有創建名為 的目錄~,但顯然有其他東西做了。
1因為~擴展是由單獨的程式執行的,而且每個程式都有自己的~擴展發生時間和方式的規則,所以我們會遇到很多麻煩。這同樣適用于$HOME和 等變數$USER。原始 Unix 中早已失傳的優點之一是,由于shell是唯一執行這些特殊技巧的地方,因此您只需學習一套關于何時發生此類擴展的規則,以及如何防止他們。現在這么多程式自己做自己的通配符,每個程式都有自己的規則,這很混亂。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/369290.html
標籤:混帐
