如何使用';git过滤器分支';要更新子模块的SHA?

如何使用';git过滤器分支';要更新子模块的SHA?,git,git-submodules,git-filter-branch,Git,Git Submodules,Git Filter Branch,假设我有两个Git存储库,A和B。B是A的子模块 为了简单起见,我们还假设我有一个神奇的函数,get_sha_B,给定a的sha提交,它返回B所需的sha提交 如何在repo A上运行筛选器分支,以使repo A的每个提交都被重写,指向所需的repo B提交,如get\u sha\u B返回的那样 谢谢大家! 找到了!我将在这里回答我自己的问题: 我可以将git update index与git filter分支--index filter结合使用 下面是如何调用更新索引来修改子模块的提交SHA

假设我有两个Git存储库,A和B。B是A的子模块

为了简单起见,我们还假设我有一个神奇的函数,
get_sha_B
,给定a的sha提交,它返回B所需的sha提交

如何在repo A上运行筛选器分支,以使repo A的每个提交都被重写,指向所需的repo B提交,如
get\u sha\u B
返回的那样


谢谢大家!

找到了!我将在这里回答我自己的问题:

我可以将
git update index
git filter分支--index filter
结合使用

下面是如何调用更新索引来修改子模块的提交SHA:

git update-index --cacheinfo 160000 88e6a302c42840440f9faac73f27efc6a3e0c1a6 pathto/mysubmodule

据我所知,160000是Git中用来标识子模块的一个神奇数字。

谢谢,这正是我慢慢走向的方向。你让我知道怎么做了