用于企业Linux内核开发的Git工作流

用于企业Linux内核开发的Git工作流,git,workflow,linux-kernel,Git,Workflow,Linux Kernel,我在一家使用Linux构建嵌入式系统的公司工作。历史上,我们总是使用CVS来存储我们的内核工作。我们的内核最终是以下内容的集合: 我们专有硬件的驱动程序 随机修复我们使用的Linux部分 非专有硬件驱动程序 随机Yuky黑客为我们的应用程序定制Linux 我们正处于这样一个阶段,我们希望在新版本上重新设置一些旧内核的基础,并将我们的老式CVS工作流修复为基于变更集的工作流。显而易见的选择是git 我正在努力想出一个合理的工作流程。我已经为我们的一个内核导出了CVS存储库,并且在适当的基本Li

我在一家使用Linux构建嵌入式系统的公司工作。历史上,我们总是使用CVS来存储我们的内核工作。我们的内核最终是以下内容的集合:

  • 我们专有硬件的驱动程序
  • 随机修复我们使用的Linux部分
  • 非专有硬件驱动程序
  • 随机Yuky黑客为我们的应用程序定制Linux
我们正处于这样一个阶段,我们希望在新版本上重新设置一些旧内核的基础,并将我们的老式CVS工作流修复为基于变更集的工作流。显而易见的选择是git

我正在努力想出一个合理的工作流程。我已经为我们的一个内核导出了CVS存储库,并且在适当的基本Linus内核之上有一个变更集集合。我该怎么办

我希望有一个所有开发人员都可以提交更改的中央存储库。使用rebase将变更集集合向前移动到新的基本内核版本,然后在新的中心分支上进行开发,这样安全吗

获得一个允许我们轻松分离出可能适合上游的更改的工作流的额外积分。我受够了总是推进一系列小的(或微小的)通常有用的更改。

如果不推进所述的本地分支(因为该本地分支的历史已被重写),则Rebase对您的本地分支有好处。例如,见

每个开发者Git存储库中都应该有一个专用的“公共”分支(即要推送的分支),以便推送相关的更改。
如果需要,可能会有几个公共分支共存,每个内核版本一个公共分支来维护/修复

然后,可以将中央回购设置为集成(即拉式)所有推入其中的开发人员分支

有关合并工作流和发布主题的详细信息,请参见