我是git的新手,但在尝试之前花了很多时间阅读文档并了解git子模块。我有一个问题,我觉得 - 可能是天真的 - 是git中的一个错误:
我有一个项目,在该根目录中我有一个plugins文件夹,它有一个名为myplugin的子模块。我用
添加了它git submodule add xxxxxgithub.com/me/myplugin.git plugins/myplugin
效果很好。一切都工作正常一周左右。我正在使用的框架支持覆盖插件内的视图。这些必须存储在
中views/plugins/myplugin/customviewfile.
问题是,git认为覆盖文件夹也位于:
plugins/myplugin
Git不会在我的views / plugins / myplugin目录中提交任何内容,它不会跟踪文件,无论我做什么,我都无法取消它。在Github中,它显示绿色箭头表示它是一个子模块,当我切换分支时,该目录带有子模块的运行方式
我已经把头发拉了一个多小时而且没有任何进展......非常感谢任何帮助!
答案 0 :(得分:1)
您需要了解的有关子模块使用方式的大部分内容是summarize here。
您是否直接在视图中添加了子模块?如果是,views/.gitmodules
包含什么?
当你添加它时,你是否也在主项目中提交(在插件上方)?
但如果视图是您的仓库的另一个克隆,您期望看到plugins/myplugin
子模块,那么您是否已经:
git submodules init
git sumodules update
OP adds:实际问题是plugins
目录,在某一时刻,被忽略(rm然后添加到.gitignore
文件中)子模块无法检测到。
答案 1 :(得分:0)
我把它拿回来...这是我,显然有一次我必须以某种方式提交该文件夹中的实际插件(可能会意外移动文件夹)我不记得这样做了..但无论如何我发现它github提交的历史。我git rm -rf'ed views / plugins目录,现在它正在工作