這裏是我的項目結構你如何與git子模塊一起開發?
MainProject
| README.md
| src/
| lib/ # this is a submodule
當我開發MainProject
,我還將開發lib/
,我的意思MainProject/lib/
。
當我按下時,我會將MainProject/lib/*
中的所有更改複製到MainProject/../lib/
,這是一個單獨的git目錄,然後按下。
之後,我將在MainProject/lib/
遠程做一個子模塊更新爲最新。
然後,我將致力於在MainProject
推變化。
罹患此病。你如何與git子模塊一起發展?
ADD
我想在lib/
推到遠程lib
庫中的所有變化。 和所有在MainProject
lib/
旁邊變化推到遠程MainProject
。
所以,如果我直接把遠程lib
倉庫內MainProject/lib
然後在MainProject
遠程添加和提交併推送變化lib/
旁邊。
如果別人克隆MainProject
,做submodule update
,他會獲得最新的來源是什麼?
我.gitmodules
:
[submodule "lib"]
path = lib
url = [email protected]:XXX/YYY.git
branch = master
謝謝。你是什麼意思「回到MainProject /,添加,提交和推送......」?我在帖子中添加了一些內容。請閱讀並提供幫助。謝謝。 – Sato 2014-08-29 06:22:11
@Sato我編輯了我的答案。從其父代回購MainProject的角度來看,如何查看'lib'是非常重要的:作爲索引中的gitlink條目,以便記錄子模塊檢出的確切SHA1。如果您在子模塊中創建一個新的提交,您需要推送它,但也要回到主項目並添加/提交該gitlink條目。 – VonC 2014-08-29 06:49:02
所以當其他人克隆'MyProject'並做一個'submodule update'時,它會得到確切的SHA1(記錄在'MainProject'中的gitlink條目)而不僅僅是HEAD? – Sato 2014-08-29 07:19:44