使用git子模块实现语义版本控制

rdrgkggo  于 2023-03-06  发布在  Git
关注(0)|答案(1)|浏览(127)

我正在做一个项目,结构如下:

src/
  ExternalLib1/
  ExternalLib2/
  ExternalLib3/
  Main/
  other files…

其中ExternalLibX是git子模块,由我团队中的其他开发人员支持,Mainother files-是我的项目。
我的.gitmodules文件将所有子模块分支设置为develop分支。
我想实现git语义版本控制,但我不知道该怎么做。
例如:我的同事将ExternalLibX模块从版本v1.0.0更新到v1.1.0。之后,他发送了一个通知,我需要更新主项目。现在,我正在使用

cd ExternalLibX
git checkout develop
git pull origin develop

但是之后我还需要将版本更新到主项目中,我该怎么做呢?
我可以通过将子模块分支从develop更改为特定的提交来解决这个问题,并且在.gitmodules中的任何提交sha更改之后在Main中进行版本更新,但这对我来说似乎不是一个好的解决方案。

wfveoks0

wfveoks01#

我可以通过将子模块分支从develop更改为特定提交来解决这个问题
这就是子模块:一个特定的提交(加上一个指向远程存储库的URL)。
如果您的同事在ExternalLib1上创建了一个tag v1.1.0(只有这个),您需要转到ExternalLib1/文件夹, checkout v1.1.0,将cd签回到src/,添加并提交新状态。

相关问题