主支路具有這些文件和文件夾(簡化):git checkout遠程分支顯示無關文件?
C:\Local\TickZoom\Project>ls
file.txt name.txt public
公共分支正在跟蹤一個供應商庫並一直子樹 合併爲公共文件夾中的主分支的上方。公共具有三個文件夾 僅(簡化):
C:\Local\TickZoom\Project>ls
platform providers www
當從公衆交換掌握它行爲正確。
但是,當從主控切換到公共時,會發生奇怪的事情。 它擁有的所有文件和雙方聯合的文件夾:
C:\Local\TickZoom\Project>git checkout public
C:\Local\TickZoom\Project>ls
file.txt name.txt public
platform providers www
然而,檢查git的狀態是什麼都沒有改變。
我發現'git reset --hard'修復了公衆後退。
CLUE:看來只有在做出新的提交 掌握之後纔會發生這種情況。 git會做某種自動合併嗎?
經過'git reset --hard'後,即使重複,也可以通過結賬方式將 作爲公共工作。
第一次,我認爲它是固定的,但下次改變時我再次發生了 。讓我再試一次 現在確保...
現在,我不能再現它。但它確實發生過兩次。
另一個CLUE是,我第一次做了git reset --hard 它抱怨文件被進程鎖定。
在違規項目關閉後,git reset --hard 成功,然後兩個分支之間的結帳工作。
那麼結賬會被文件鎖定和 「默默」失敗混淆?這會更好,這就是問題 以同樣的方式失敗git reset --hard不僅僅是報告 成功和混亂的工作區。
任何其他智慧或選項設置在git結帳,以避免這種 將不勝感激。
韋恩
好的,現在發現了問題。怎麼修? 問題是在子文件夾中有被忽略的文件。 git正確地完成了結帳,但留下了所有被忽略的文件,並且如果有多個目錄下來,它將留下所有直接去的目錄。 我試過git clean -f,它仍然保留文件。 如何在分支之間切換時清除未被跟蹤的文件? – Wayne 2009-11-18 04:45:54