使用另一个存储库管理git存储库

时间:2014-10-28 17:26:37

标签: git

Linux为列出here的不同模块提供了许多git存储库。还有developers的存储库。但是Linus如何合并所有这些存储库并构建像this这样的单个内核存储库?例如,他是否将所有相关存储库标记为子模块或是什么?

1 个答案:

答案 0 :(得分:1)

git以相反的方式思考:而不是生成一个" master"存储库,一个生成"孩子"名为submodules的存储库。

假设您有两个git存储库位于:

foo.bar/baz
quix.qu/foobar

然后您可以初始化父git存储库(例如在parent中):

git init .

并添加子模块:

git submodule add foo.bar/baz
git submodule add quix.qu/foobar

它将创建bazfoobar目录并在那里初始化相应的git存储库。结果tree就像是:

parent
├── baz
│   ├── content of baz
│   └── other content of baz
└── foobar

子模块因此是非版本控制文件系统中的链接(快捷方式)。如果项目的一部分倾向于采用自己的方式,它们就很有用。并且提交不再是全局的,但您希望提交仅捕获例如plugins目录。