如何仅通过SourceTree GUI完全重置已损坏的git submodule
SourceTree 图形化界面修复损坏Git子模块方案
- 关闭当前的报错弹窗,在SourceTree左侧仓库列表右键点击对应主仓库,选择「移除」,操作时不要勾选「删除本地仓库文件」选项,仅将仓库从SourceTree的加载列表中移除即可。
- 重新在SourceTree中导入该主仓库,进入仓库页面后点击顶部菜单栏的「仓库」选项,在下拉菜单中选择「子模块」,打开子模块管理面板。
- 在子模块管理面板中选中已损坏的子模块条目,点击面板下方的「删除」按钮,确认弹窗中仅勾选「移除子模块配置」,不要勾选删除本地子模块文件夹的选项,确认执行移除。
- 回到主仓库操作页面,点击顶部的「拉取」按钮,选择拉取远端master分支的最新内容,拉取完成后主仓库的子模块配置会同步为远端的正常版本。
- 再次打开子模块管理面板,点击「添加」按钮,按照远端配置的子模块仓库地址、本地存放路径填写信息后完成添加,添加后勾选子模块的「同步主仓库提交更新」选项即可。
- 操作完成后重新执行fetch或pull操作即可正常运行,不会再出现子模块相关报错。
内容的提问来源于stack exchange,提问作者FunnerSoft
相关产品推荐
相关产品推荐

