2012-09-24 138 views
2

我一直在閱讀一篇文章,作者指示:在現有的存儲庫中創建一個新的存儲庫,並想知道這是否是他忽略的錯誤。我稍後會與他覈實。git如何處理git倉庫在另一個倉庫中的位置?

這些條件我要檢查:

  1. 的條件時,現有的目錄製作成庫, 和文件已經簽入主體工程 也檢查了新的(子)存儲庫。這可能嗎?

  2. 當其中包含git倉庫的目錄樹中 檢查首次

  3. 當倉庫下創建一個新的空倉庫,無論是通過 的git init或通過複製git的存儲庫進入新的或空的 目錄?

回答

2

正如在「Git repository in a git repository」所提到的,嵌套式回購主要由母公司回購(只gitlink記錄)忽略

所以父回購任何操作不會對嵌套回購的發病率。

如果您將嵌套回購聲明爲子模塊,那麼您可以簽出父回購嵌套回購,但該子模塊將始終引用固定提交。
如果您在子模塊中進行了任何修改,您需要提交它們,將它們推回回到父回購,提交併推送(記錄子模塊的新固定提交)。
請參閱「True nature of submodules」。

+0

這是否意味着在sub repo內製作的命令將應用於subrepo?而且這種情況會發生在一個已經被委託給主倉庫的文件中? 我不打算,只是假設性地考慮它。 – vfclists

+0

@vfclists是的,subrepo中的任何命令都僅限於嵌套的repo。在主repo上已經提交的文件不在subrepo內:我們將在兩個不同的父目錄(即使它們的內容可能相同)中討論在兩個不同repo中提交的兩個不同文件。 – VonC

1

如果你想這樣做,你應該使用submodules如果你想擁有嵌套的存儲庫。頂層存儲庫將跟蹤所有子存儲庫的最新提交,並且在它們內部,事情可以如你所願。如果沒有這個,git會以無證和不支持的方式運行,所以你可能不應該嘗試它。