金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  359 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
删除隐性的git submodule

(金庆的专栏 2018.8)

正常的submodule会在 .gitmodule 文件中,TortoiseGit 会有 Submodule Update 菜单。
还有一种隐性的 submodule, .gitmodule 文件中看不到它,无法 update.
golang开发中的vendor目录下经常会不小心添加一个带 .git 的目录,就变成了一个假的submodule.
用 Repo-browser 看这个目录是个submodule链接, clone 出来就只有一个空目录。

删除这个submodule不能用 git delete, 提交时会报错:

git.exe add -f [...]

fatal: pathspec 'src/vendor/github.com/grpc-ecosystem/grpc-opentracing' did not match any files

git did not exit cleanly (exit code 128)

git delete 父目录也无法提交。

但是可以直接删除(不用git delete), 然后提交并Push. 好像只有这个办法。



posted on 2018-08-30 10:58 金庆 阅读(101) 评论(0)  编辑 收藏 引用 所属分类: 5. 软工与管理

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理