如何 git 重置 --hard HEAD^ 回购的根而不影响子模块
How to git reset --hard HEAD^ root of repo without affecting submodules
在对包含子模块的存储库的根目录进行临时提交后,我随意地 运行 git reset --hard HEAD^
打算删除主根目录上的所述提交 - 但令我沮丧的是也影响所有子模块回购....
我只是想删除根仓库上的头部提交。
是否有 better/safer 方法可以在不影响子模块回购协议的情况下完成此任务?
git reset
的 默认值 是 --no-recurse-submodules
(结帐/切换也是如此)。但是,如果您通过将 submodule.recurse
配置为 true
或 1
或以其他方式启用,将递归设置为默认启用,您始终可以传递显式 --no-recurse-submodules
选项来覆盖你的覆盖。您也可以 运行 git -c submodule.recurse=0
,如 the git config
documentation.
中所述
在对包含子模块的存储库的根目录进行临时提交后,我随意地 运行 git reset --hard HEAD^
打算删除主根目录上的所述提交 - 但令我沮丧的是也影响所有子模块回购....
我只是想删除根仓库上的头部提交。
是否有 better/safer 方法可以在不影响子模块回购协议的情况下完成此任务?
git reset
的 默认值 是 --no-recurse-submodules
(结帐/切换也是如此)。但是,如果您通过将 submodule.recurse
配置为 true
或 1
或以其他方式启用,将递归设置为默认启用,您始终可以传递显式 --no-recurse-submodules
选项来覆盖你的覆盖。您也可以 运行 git -c submodule.recurse=0
,如 the git config
documentation.