Git 切换内核时本地修补程序存储库

Git 切换内核时本地修补程序存储库,git,linux-kernel,Git,Linux Kernel,我是git的新手, 我的设想如下: 我在一个私人项目上为linux内核做了补丁。 我希望我的本地存储库保存这些修补程序。不是整个内核。 我说的不是补丁文件,而是保存我正在更改的文件 因此,当我想在不同的内核上应用它们时,我只需将它们拉入第二个内核文件夹 现在来看问题: 我需要能够偶尔切换一次基本树,或者,为了简化场景,我希望能够拉一个不同的树,并将我的补丁repo拉到其中 但是实际的第二个内核是repo,我的补丁也是repo。 因此,我无法将它们合并到同一个文件夹中,同时仍对它们进行源代码管理

我是git的新手, 我的设想如下: 我在一个私人项目上为linux内核做了补丁。 我希望我的本地存储库保存这些修补程序。不是整个内核。 我说的不是补丁文件,而是保存我正在更改的文件

因此,当我想在不同的内核上应用它们时,我只需将它们拉入第二个内核文件夹

现在来看问题: 我需要能够偶尔切换一次基本树,或者,为了简化场景,我希望能够拉一个不同的树,并将我的补丁repo拉到其中

但是实际的第二个内核是repo,我的补丁也是repo。 因此,我无法将它们合并到同一个文件夹中,同时仍对它们进行源代码管理

有没有办法粘合回购协议,或者告诉git一个是父,一个是子,它会自动合并并自动提取所有内容

问候 大卫

有没有办法粘合回购协议,或者告诉git一个是父,一个是子,它会自动合并并自动提取所有内容

这基本上就是git子模块的目的,但它们不会自动合并。子模块必须至少位于主repo中的给定子目录中

然而,如果你的Linux黑客不是为了修补现有的官方文件,而是为了编写一个可以用insmod或modprobe加载的不同内核模块,那么你根本不需要在内核树中进行开发。只需指定一个常规目录,在其中进行所有开发,然后让顶级linux makefile从这里为您编译它:

make -C /lib/modules/`uname -r`/build M=`pwd` modules

谢谢我正在修补官方文件。这是一个研究项目