1

我是 git 新手,但在尝试之前花了很多时间阅读文档和 git 子模块的陷阱。我有一个问题,我觉得 - 可能是天真的 - 是 git 中的一个错误:

我有一个项目,在那个根目录中我有一个插件文件夹,其中有一个名为 myplugin 的子模块。我添加了它

git submodule add xxxxxgithub.com/me/myplugin.git plugins/myplugin

效果很好。一切都正常工作了大约一周。我使用的框架支持覆盖插件内的视图。这些必须存储在

views/plugins/myplugin/customviewfile.  

问题是,git认为覆盖文件夹也在:

 plugins/myplugin 

Git 不会在我的 views/plugins/myplugin 目录中提交任何内容,它不会跟踪文件,无论我做什么,我都无法忽略它。在 Github 中,它显示为绿色箭头,表示它是一个子模块,当我切换分支时,该目录继承了子模块的方式

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

4

2 回答 2

1

您需要了解的有关使用子模块的方式的大部分内容都在此处进行了总结

您是否直接在视图中添加了子模块?如果是,views/.gitmodules包含什么?
当你添加它时,你是否也提交了你的主项目(就在插件之上)?

但是,如果 views 是您的 repo 的另一个克隆,您希望在其中看到plugins/myplugin子模块,您是否:

  • git submodules init
  • git sumodules update

?


OP 补充说:实际的问题是plugins目录,在某一时刻被忽略(rm 然后添加到.gitignore文件中),使得任何子模块都无法检测到。

于 2010-04-30T10:56:27.157 回答
0

我收回它......是我,显然有一次我必须以某种方式提交该文件夹中的实际插件(可能不小心移动文件夹)我不记得这样做了..但无论如何我在github历史中找到了它提交。我 git rm -rf'ed 视图/插件目录,现在它正在工作

于 2010-04-30T10:57:59.133 回答