包含子模块的common mistake是在超级项目中提交一个子项目散列,该散列指向不是每个使用超级项目的人都能到达的提交(例如,提交可能只存在于某人的个人计算机上)。
我想审计整个历史,以确保超级项目引用的每个子项目提交确实存在于给定的远程存储库中。有什么好方法可以做到这一点吗?
发布于 2013-05-16 05:44:47
您可以尝试这个GitHub project (来自Konrad Malawski aka ktoso),它执行检查(ruby脚本):
从现在开始,您可能希望使用pom而不是其他推流方式,如下所示:
在子模块中取消推送更改时:
$ git pom
Checking [styles-common] submodule for unpushed commits...
**********************************************************
You have 2 unpushed commits within styles-common:
1a87491 added more fluffy icons
bd40c09 flash now has nice round corners
**********************************************************
Aborting push.当子模块中没有未推送的更改时:
$ ./check_submodule_pushed.rb
Checking [styles-common] submodule for unpushed commits...
Seems all submodule commits you refer to are reachable, let's push!但我的观点是:我不知道在推送其父repo之前检查子模块是否已被推送的本机方法。
https://stackoverflow.com/questions/16575033
复制相似问题