我正在使用git,我的項目(MyProject)已經添加了一個作爲子模塊的github(SubProject)託管在其目錄結構下的公共git項目。 SubProject需要在其目錄結構下包含一個庫(SomeLibrary)。如何設置子模塊在其下面需要外部庫的git結構?
現在這很糟糕,因爲如果不是SubProject需要在它下面的SomeLibrary,這將是非常簡單的。因爲我已經將SubProject添加爲MyProject的子模塊,所以沒有什麼可做的了。但是,SomeLibrary是必需的,它不在任何git存儲庫中。因此,我將創建一個新的存儲庫並使用其版本號對其進行標記。但是將它們捆綁在一起的最佳方式是什麼?
SomeLibrary一旦位於我爲它創建的git存儲庫中,是否可以將SomeLibrary添加爲MyProject下的子模塊,或者它是否必須是SubProject的子模塊?如果它是SubProject的子模塊,那麼知道我可能需要隨時間從新的標記版本升級SubProject,最好的方法是什麼?一個示例工作流程可以真正幫助我將這個問題包圍起來,因爲我很難概念化它的樣子。 (例如,我會做任何事情之前分支SubProject,或者這是沒有必要的,這意味着我可以提取子項目下方的SomeLibrary,並提交...)
不使用構建系統。因此,在第一個選項中,分支的目的是什麼 - 我不能在主分支中進行這些提交,並且仍然繼續從公共回購中獲取更新?在第二個選項中,你能描述一下我自己的項目分支是什麼意思嗎?我應該描述我的本地存儲庫將連接到我們共享但內部的存儲庫。那麼我的子模塊是否只有一個遠程共享倉庫 - 我會推動它,而共享倉庫中的子模塊將有一個遠程倉庫,這是公共倉庫,並且會從倉庫中拉出來......這是否行得通? – user779159
@ user779159:當然,你可以留在主分支上;它只是感覺更正確(在我看來)創建一個新的分支,因爲你實際上並不打算最終將你的更改合併到你克隆的開源庫中。你所描述的只有內部存儲庫作爲本地遠程服務器,並將github作爲內部存儲庫的遠程服務器的方法應該可行。 –