结帐到标记后的git update子模块

时间:2011-11-24 15:52:40

标签: git

我有一个名为“A”的项目,在这个项目中我有一个名为thirdparty的文件夹,它有5个子模块“1”,“2”,“3”,“4”,“5”

当我标记项目“A”并将其拉到我的服务器上并结帐到标签时,第三方文件夹中没有任何内容

那么,一旦结帐到标签,我现在如何更新子模块?

还可以将子模块代码添加到标记中,使其包含标记时子模块的实体头部吗?

2 个答案:

答案 0 :(得分:1)

如果要获取子模块的更新信息,则需要输入子模块文件夹并将其视为总存储库。您的主项目(此处为“A”)仅跟踪子模块commit id此处为“1”,“2”等 )。
也许你会对这个Question感兴趣。希望这是你想要的。 :)
Heresubmodule上的文档 你最后一个问题的答案是“是”。您可以管理主项目和主项目中子模块的其他项目。每次更新子模块的代码时,都需要在子模块的文件夹中git add .git commit -m "message"
例如。如果要更新子模块“1”的代码:

  

cd A / thirdparty / 1
  [更新您的代码]
  git add。
  git commit -a“更新消息”
  git push

然后返回主项目“A”以提交子模块的更新。

  

cd ../ ..
  git status

这里将显示你的项目“1”的commitid信息。

  

git add A / thirdparty / 1
  git commit -m“更新子模块1”
  git push

答案 1 :(得分:0)

我不确定我是否真的理解你的问题。

使用子模块的正常流程如下:

  1. 克隆项目
  2. Init submodule
  3. 更新子模块
  4. 这会解决你的问题吗?