2015-02-24 181 views
1

我有2个项目。 “MyProg”和“SubProj”。
这两个项目都在Bitbucket上。如何更新git子模块?

一个项目是第二个子模块。问题是,当我在主项目中进行更改时,更改子模块不会被拉出。

也许应该是,或者我做错了什么?
我该怎么做,当您升级一个项目拉第二个项目的变化?

回答

1

的问题是,当我拉主体工程更改,更改子模块拉不

不要忘了,一个子模块是固定参照SHA1:它是一个gitlink,a special entry in the index

除非您已将该子模块配置为遵循分支,否则它不会移动。
(请参阅“git submodule tracking latest”和“Git submodule new version update”)
在这种情况下,这将更新:

git submodule update --init --remote 

不要忘记添加,提交和推送(父回购)​​的新的参考,如果该子模块已更新为更新的SHA1。

+0

我不太了解你。我的英文不是很好。我可以这样做吗?当我更新主项目时,我希望我的子模块也自动更新,如果它被更改。 – 2015-02-24 08:08:32

+0

@PavelPetrashov遵循http://stackoverflow.com/a/18799234/6309,然后*然后*更新您的主项目将包括您的子模块的最新版本(provinding你运行命令'git submodule update --recursive --remote'在'git pull'之后)。 – VonC 2015-02-24 08:10:52

+0

你能知道我是否可以在gradle中自动化这个吗? – 2015-02-24 08:38:32