有没有办法在Github中使用子项目?

时间:2017-12-15 01:36:43

标签: git github

我想到的是为项目及其子项目创建目录树。

由于我是使用Github的新手,我一直在使用git进行大量关于文件组织和控制的研究,但我没有找到类似我想到的解决方案。事实上,我不知道是否可能或推荐。 我的想法是创建一个根存储库来对我的项目进行分组,例如在Python中,最终的结构如下所示:

Python
- Python/SubProject1
- Python/SubProject2
- Python/SubProjectN

但是,当我在根git init Python以及任何子项目git init ProjectN中启动git控件并将它们发送到Github时,子目录也无法读取和空。我还看到有一种方法可以在root中使用子模块,但是当我尝试创建一个时,我得到一个错误:

  

ProjectN已经存在,并且不是有效的git repo

2 个答案:

答案 0 :(得分:0)

你可以看一下submodule,虽然我不认为子模块可以位于git的根目录下。

解决方法是

1)使用.gitignore忽略SubProjectN,以便在SubProjectN中调用git init

2)使用符号链接将SubProjectN和根链接在一起。

答案 1 :(得分:0)

在我看来,你有两个选项子模块或子树。我最近一直在使用子模块,这是一种将git repos放在git repo中的方法,并跟踪你的根目录所使用的子模块repo的提交。 如果需要将代码贡献回子项目,则应使用子模块,否则请使用子树。

子模块学习如何处理非常棘手。我已经制作了一组git脚本,这将使它更容易。现在只适用于Windows的git。看看https://github.com/jlovs/git-scripts