首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推送git存储库(包含.git子级的文件夹),它的子文件夹也是git存储库

推送git存储库(包含.git子级的文件夹),它的子文件夹也是git存储库
EN

Stack Overflow用户
提问于 2015-09-29 00:36:00
回答 1查看 856关注 0票数 1

我在一个目录结构中积累了相关实验,然后创建了一个要点,这样我就可以在bl.ocks.org上演示这个实验。

当我创建gist时,我将其添加为子文件夹的repo的遥控器。这样,我就可以在迭代中通过推送到遥控器(gist)来检查bl.ock。

结果是一个目录树中有很多repos,这些单独的repos有时会有多个分支。另外,有些子文件夹不是repos。

现在,我想将实验整合到一个主github库中。所以我在github上创建了一个repo,将其设置为遥控器,拉出合并等,然后推送。

所有非存储库文件夹都推送正常,但是树中包含.git文件夹的所有文件夹都没有正确推送:它们在github存储库中,但它们是“灰色的”。当我有一个具有多个分支的repo时,我就意识到了这一点,其中不存在于所选分支上的文件夹以同样的方式“灰显”:大概这是github表示空文件夹的方式。

我该怎么处理呢?我知道我不能在一个子文件夹级别上有多个分支...我是否需要通过合并子文件夹中的一个分支来在主存储库中创建分支?这是如何工作的呢?

我本以为git只会推送子文件夹repos的当前签出状态,并在根目录中查找gitness……因此,从父文件夹的角度来看,子文件夹不会被视为repos。

例如,有没有一种方法可以将子文件夹分支集成到新结构中?

EN

回答 1

Stack Overflow用户

发布于 2015-09-29 03:01:13

灰色的文件夹(“文件夹中的文件夹”图标)实际上代表了Git子模块。听起来您想要做的不是有子模块(每个子模块都依赖于它们自己的原始存储库),而是将所有单独的存储库合并到一个主存储库中,然后删除所有这些存储库。

Git并不是真正为嵌套Git存储库版本而构建的,除了子模块。合并存储库的最简单方法是备份每个单独存储库中的.git文件夹,删除它,然后重新开始,即将每个子存储库的最新提交的工作目录提交到一个新的提交中。或者,如果您希望保留历史记录,可以使用this thread中描述的方法之一将每个存储库合并到主存储库中。

在任何情况下,你现在已经有了子模块,但你不想要它们,所以一般的想法是弄清楚你想要如何在没有子存储库结构的情况下构造你的repo。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32827803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档