1

我们有很多带有子模块的存储库,我们想报告哪些子模块是升级的候选者,因为它们引用的存储库有新的提交。有没有办法在不更改当前签出版本的情况下做到这一点?

基本上我们想知道 3 个不同的提交;
1) 源的包含存储库指向
的提交 2) 本地包含存储库指向的提交(这可能与 1 不同,因为手动拉取子模块
3)子模块存储库的头。

如果本地落后于原点,我们想做一个子模块更新。
如果 local 是提前来源,我们不想进行子模块更新,因为它可能已被开发人员更改。
如果 local 位于子模块存储库的头部之后,我们希望收到警告。

4

1 回答 1

1

这有点冗长,但您可以使用awk,sed等将其修剪为相关信息,但我会以git submodule foreach git remote showor开头git submodule foreach git fetch; git submodule foreach git log master..origin/master。这应该提供足够的信息来构建脚本来执行自动更新等。

于 2012-09-21T15:13:36.873 回答