git submodule add -b工作怎么样?
添加具有特定分支的子模块后,新的克隆存储库(之后git submodule update --init)将处于特定提交,而不是分支本身(git status在子模块上显示"当前不在任何分支上").
我无法找到任何信息.gitmodules或.git/config关于子模块的分支或任何具体的承诺,那么,如何Git的数字出来?
此外,是否可以指定标签而不是分支?
我正在使用1.6.5.2版.
我有一个项目,用于在路径中包含子模块mysubmodule.我从源代码(1.8.3-rc2)安装了最新的Git并运行git submodule deinit mysubmodule.然后我删除了.gitmodules文件并提交了更改.我还.git从mysubmodule文件夹中删除了该目录.
我现在想mysubmodule直接将文件提交到我的仓库,但是git说没有变化.如果我输入git add mysubmodule它什么都不做.如果我输入git add mysubmodule/file.txt它说fatal: Path 'mysubmodule/file.txt' is in submodule 'mysubmodule'
我还发现,如果您查看一个新版本的repo,它会创建一个mysubmodule目录,尽管没有.gitmodules文件.跑步git submodule init会给你一个No submodule mapping found in .gitmodules for path 'mysubmodule'错误.
我该如何解决?
Plone项目包含192个不同的回购:https://github.com/plone/
在开发过程中,有时需要触摸2或4或10个不同的回购来修复错误或实现功能.这将是巨大的,如果这一切都可以一起分支和合并在一起(如拉要求关闭issueX含有承诺repo1,repo2和repo3).
版本要求将整个回购集合分支并标记在一起.
Pre-git,一个版本是由一个文件定义的,该文件列出了构成该版本的所有模块的svn版本号.git是否为我们提供了更简化的工作方式?
乍一看,似乎"超级项目"可能适用:
您可以更具体地定义项目与超级项目中的标记和分支之间的关系
http://progit.org/book/ch6-6.html#superprojects"Git /Submodules and Superprojects"似乎证实了这一点,但仍然含糊不清(不解决标签或分支).http://en.wikibooks.org/wiki/Git/Submodules_and_Superprojects
另一个听起来相关的工具是Joey Hess mr:
mr(1)命令可以在一组存储库上检出,更新或执行其他操作,就好像它们是一个组合存储库一样.
http://kitenet.net/~joey/code/mr/(我担心这会导致192个不同的分支碰巧具有相同的名称,而不是将所有回购链接在一起的1个分支.)
这个问题看起来很相关:有人真的使用git super/subprojects吗?一个答案说明:
我们的项目(bitweaver,一个内容管理系统)是一个高度模块化的系统,有近160个存储库 - http:// github.com/bitweaver/".
这听起来像我们的情况.它引用了子模块的"严重限制",并建议使用mercurial.这听起来mr可以帮助处理那些("对超级仓库中的所有目录执行git命令").
https://github.com/Uni-/shBrushesCollection
我打开了一个GitHub repo并在GitHub web源编辑器中编写了.gitmodules.当我克隆rpo时,我发现.gitmodules中的子模块没有被初始化.
我想我几乎尝试了所有命令,包括update,init,update --init等等.有没有办法使用当前的.gitmodules文件,而不是子模块添加?