簡體   English   中英

有沒有辦法將Git限制在稀疏結賬?

[英]Is there a way to confine Git to a sparse checkout?

正如最近的一個問題所暗示的那樣,我正在尋找一種方法來加速Git存儲庫上的操作,這些存儲庫包含大量文件(約600萬)。 我寧願不使用子模塊。 問題是操作很慢。 是否可以擁有一個大型存儲庫,但是指示Git只關注存儲庫的一部分? 我認為可能會創建一個稀疏結賬,但是讀取樹操作似乎刪除了稀疏檢出文件中未指定的文件並且需要很長時間。 是否可以執行讀取樹,使所有文件保持原樣,並且僅與稀疏檢出文件中指定的文件數成比例?

目前不是,沒有。 Git最近才(1.7+)添加了任何稀疏的checkout支持,而且它仍然相當簡單 - 主要是因為Git並不是真正設計為只處理部分存儲庫。

它更適合作為每個項目的一個存儲庫版本控制系統。 子模塊是選擇處理具有許多大型子組件的“項目”的方法。

首先,我建議學習和使用子模塊。

您可以編寫自己喜歡的內容

git ls-tree sha1
git show sha1:path/to/some/file.txt

和其他低級命令。 另請參閱bash命令,例如

xargs
grep
cut

和管道。

暫無
暫無

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

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