如何在不影响子模块的情况下重置git——回购的硬头^root

如何在不影响子模块的情况下重置git——回购的硬头^root,git,git-submodules,Git,Git Submodules,在对包含子模块的repo的根进行临时提交后,我随意运行了git reset--hard HEAD^,目的只是删除主根上的所述提交,但令我沮丧的是,它也会影响所有子模块repo 我只是想删除根回购上的头提交 在不影响子模块回购的情况下,是否有更好/更安全的方法来完成此任务?git reset的默认值为--无递归子模块(签出/切换也是如此)。但是,如果通过配置子模块将递归设置为默认打开。将递归设置为true或1或以其他方式启用,则始终可以传递显式的--无递归子模块选项来覆盖覆盖。您还可以运行git-

在对包含子模块的repo的根进行临时提交后,我随意运行了
git reset--hard HEAD^
,目的只是删除主根上的所述提交,但令我沮丧的是,它也会影响所有子模块repo

我只是想删除根回购上的头提交

在不影响子模块回购的情况下,是否有更好/更安全的方法来完成此任务?

git reset的默认值为
--无递归子模块(签出/切换也是如此)。但是,如果通过配置
子模块将递归设置为默认打开。将递归
设置为
true
1
或以其他方式启用,则始终可以传递显式的
--无递归子模块
选项来覆盖覆盖。您还可以运行git-c子模块.recurse=0
,如中所述