簡體   English   中英

git push * to *淺表克隆,為什么不呢?

[英]git push *to* a shallow clone, why not?

因此,每個人似乎都在問為什么不能一個淺表克隆中進行推送(盡管我實際上已經做到了這一點)。 但我感興趣的是推淺服務器。

這是行不通的(我已經通過服務器中的“ git clone --bare --depth 1 the_original_repo”提供了git repo,由於它說它是一個淺表克隆,所以我無法從中克隆出來)。 但是我在想,如果嘗試克隆的深度與創建淺克隆的深度相同,那為什么會有限制呢?

我的最終目標將是這樣的設置:

          (shallow-SERVER)
           /            \
(full-history-client)  (shallow-client)

這樣,兩個淺節點將完全沒有歷史記錄,但是會有一個具有完整歷史記錄的客戶端。 如果淺層客戶端推送到淺層服務器,則意味着它們的深度會增加,但是理想情況下,當完整歷史客戶端從服務器中拉出時,深度會再次減小。

我想現在這對git來說是行不通的,對吧?

只要您有足夠的能力來生成必要的包,就沒有理由不能從中推送或獲取到部分存儲庫,我也已經做到了。

但是您不能設置部分存儲庫來服務其他人。

真正的部分存儲庫是非常特殊的用途,對於大多數用途,您想要到(至少一個)本地共享objects目錄的路徑,而該目錄包含.git/objects/info/alternates中的完整歷史記錄。 那些人根本沒有必要進行回購。 我不會這么稱呼它,這使意外的gc徹底消除是不可能的,但是對此可能還有其他的想法。

在一個連一整包都買不起的地方,沒有任何業務可以作為任何類型的共享倉庫,

暫無
暫無

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

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