我正在做一个项目,结构如下:
src/
ExternalLib1/
ExternalLib2/
ExternalLib3/
Main/
other files…
其中ExternalLibX
是git子模块,由我团队中的其他开发人员支持,Main
和other files
-是我的项目。
我的.gitmodules
文件将所有子模块分支设置为develop
分支。
我想实现git语义版本控制,但我不知道该怎么做。
例如:我的同事将ExternalLibX模块从版本v1.0.0更新到v1.1.0。之后,他发送了一个通知,我需要更新主项目。现在,我正在使用
cd ExternalLibX
git checkout develop
git pull origin develop
但是之后我还需要将版本更新到主项目中,我该怎么做呢?
我可以通过将子模块分支从develop
更改为特定的提交来解决这个问题,并且在.gitmodules
中的任何提交sha更改之后在Main
中进行版本更新,但这对我来说似乎不是一个好的解决方案。
1条答案
按热度按时间wfveoks01#
我可以通过将子模块分支从develop更改为特定提交来解决这个问题
这就是子模块:一个特定的提交(加上一个指向远程存储库的URL)。
如果您的同事在
ExternalLib1
上创建了一个tag v1.1.0
(只有这个),您需要转到ExternalLib1/
文件夹, checkoutv1.1.0
,将cd
签回到src/
,添加并提交新状态。