如何删除Git子模块?
顺便说一句,有什么理由我不能干脆做到
git submodule rm whatever吗?
我试图将子模块放入回购.问题是当我克隆父repo时,子模块文件夹是完全空的.
有没有办法让它git clone parent_repo实际上把数据放在子模块文件夹中?
例如,http://github.com/cwolves/sequelize/tree/master/lib/,nodejs-mysql-native指向在外部git的子模块,但是当我结账的sequelize项目,该文件夹为空.
使用git子模块和子树之间有什么概念上的区别?
每种情况的典型情况是什么?
我不清楚以下是什么意思(来自git submodule update docs):
...将使子模块HEAD分离,除非
--rebase或--merge指定...
怎么--rebase/ --merge改变事情?
我的主要用例是有一堆中央存储库,我将通过子模块嵌入到其他存储库中.我希望能够改进这些中央回购,直接在他们的原始位置,或从他们的嵌入回购(通过子模块使用它们的那些).
我喜欢git子模块.另外,我讨厌git子模块.我喜欢他们的是它如何使你能够干净地划分依赖关系等等.我明白让他们指出一个回购的特定提交,我这样做.但在我的情况下,我正在构建一个将在另一个项目中使用的库,所以我想把它保存在那个单独的repo中.
然而,当我每天在这个库上工作时,烦恼就来了,我不得不使用我的库切换回app来提交指针更新.
那么,当我不断更新并添加到这个库时,是否有可能让git子模块始终位于它所指向的repo的头部?
跑步有什么区别
git submodule update --remote
Run Code Online (Sandbox Code Playgroud)
VS
cd <submodule directoy>
git pull
Run Code Online (Sandbox Code Playgroud)
假设子模块先前已设置为跟踪某个分支:
git submodule add -b master [URL to Git repo]
Run Code Online (Sandbox Code Playgroud) 我有以下目录结构:
- G1 /
- git的
- 一个
- b
- C/
- git的
- d
- Ë
如您所见,我在存储库"g1"中有de存储库"c".当我使用以下命令时:
git clone g1 g2
我只获得以下目录结构:
- G1 /
- git的
- 一个
- b
- C/
目录"c"仍为空.有任何想法吗?
我有一个GitHub存储库,并使用另一个项目作为子模块.这个子模块也在.gitmodules,代码如下:
[submodule "inc/tha"]
path = inc/tha
url = git://github.com/zamoose/themehookalliance.git
Run Code Online (Sandbox Code Playgroud)
另请参见GitHub.

我怎么能这样做,所以从GitHub下载我的存储库还将包括子模块中的文件?
我正在尝试使用git子模块将10多个存储库聚合到一个结构中以便于开发.
它应该克隆模块并签出分支.而是以分离头模式检出模块.
git clone git@github.com:org/global-repository.git
git submodule update —init
cd config-framework
git status
$git status
#HEAD detached at b932ab5
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
gitmodules文件似乎没问题
$cat .gitmodules
[submodule "config-framework"]
path = config-framework
url = git@github.com:org/config-framework.git
branch = MY_BRANCH
Run Code Online (Sandbox Code Playgroud)
我们希望默认情况下检出MY_BRANCH分支,而不是分离头.我们如何实现这一目标?
我正在使用Jekyll构建网站,它编译ERB,SASS和c.到纯HTML和CSS.
在大多数提交之后,我想编译站点并将编译后的版本提交到单独的存储库或分支中,以便可以将其推送到静态服务器.
最好的方法是什么?
我已经有了解决方案,但我希望有人可能会更优雅.