git子模块,忽略错误的目录

时间:2010-04-30 10:37:34

标签: git github git-submodules gitignore

我是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中,它显示绿色箭头表示它是一个子模块,当我切换分支时,该目录带有子模块的运行方式

我已经把头发拉了一个多小时而且没有任何进展......非常感谢任何帮助!

2 个答案:

答案 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目录,现在它正在工作