簡體   English   中英

Git Sparse Checkout后工作副本中的目錄太多

[英]Too Many Directories In Working Copy After Git Sparse Checkout

我們有一個git repo (遠程托管在github上 - 我們稱之為Clients repo) ,根目錄中有210多個目錄。 我們有210多個Windows服務器,每個服務器都需要其中一個根目錄,並不需要其他的。

所以我們登錄其中一個服務器,並使用1.8.1.msysgit.1

  1. 從git hub克隆客戶端repo
  2. 打開稀疏結賬
  3. 使用我們在此服務器工作副本中所需的單個目錄/ *更新稀疏檢出文件
  4. 執行我們的讀樹操作

並且10個中的9個正常工作,並且工作副本包含我們期望的單個目錄。

但是,每隔一段時間,它就不會按預期工作,我們也會得到一些其他目錄,這些目錄也會滲透到工作副本中。 它從來沒有完整的210+,但將在6-10個其他目錄之間。 這些目錄與所需目錄的模式不匹配,也沒有與所述模式匹配的任何子目錄。

一旦發生這種情況,我們就無法解決當地的回購問題。 我們嘗試過:

  • 各種重置
  • 各種讀樹
  • 禁用/重新啟用稀疏檢查
  • 檢查日志,看看是否有任何奇怪的事情發生

最終,我們通常會再次按照相同的步驟刪除本地倉庫,並且它只是第二次運行。

除了克隆,重復設置稀疏檢查等之外,我們還沒有找到可靠地重現問題的方法。 這已經發生了20次左右,它只發生過一次非Windows機器(我們有一台運行git v1.8.1.5的ubuntu服務器在兩周前顯示了同樣的問題)。

我的Google-Fu在這方面很弱。 我很感激任何有關為什么會發生這種情況的見解,以及任何沒有我們刪除回購並重新克隆它的潛在解決方法。 提前致謝!

有朋友曾經遇到過這個問題。 事實證明,他們已經從Unix系統上的子目錄中刪除了文件,然后當他們在Windows系統上執行git reset時,它會從(現在)空目錄中刪除所有文件,但不會刪除目錄本身因為Git只跟蹤內容,而不是目錄。

是Windows系統上“較大”的文件夾子集嗎? 這些目錄是空的嗎? 可能會有你的問題。

Windows憑借其權限而不穩定。 稀疏結賬后,文件夾可能已被清除,可能需要進入並手動刪除它們。 他們可能是空的;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM