Linux为列出here的不同模块提供了许多git存储库。还有developers的存储库。但是Linus如何合并所有这些存储库并构建像this这样的单个内核存储库?例如,他是否将所有相关存储库标记为子模块或是什么?
答案 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
它将创建baz
和foobar
目录并在那里初始化相应的git存储库。结果tree
就像是:
parent
├── baz
│ ├── content of baz
│ └── other content of baz
└── foobar
子模块因此是非版本控制文件系统中的链接(快捷方式)。如果项目的一部分倾向于采用自己的方式,它们就很有用。并且提交不再是全局的,但您希望提交仅捕获例如plugins
目录。