2012-03-26 103 views
2

我们有这样的情况,我们有四个工程师正在为Linux定制硬件开发软件。我们希望尽可能地跟踪linux 3.3/3.4内核。git工作流跟踪linux内核

这是我们所希望做的事:

  1. 克隆从混帐回购协议,说的git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux。 git
  2. 添加一个'companyremote'指向我们的内部git-server并创建一个分支'devel'是否有特定的东西,当我在'companyremote'git repo上创建这个devel分支时,我需要小心一些?
  3. 这三个开发人员都会将提交到这个分支的提交按照公司名称退出。
  4. 然后,我们将rebaseaseremote/devel分支的起源/主(移动到最新的内核说3.4-rc1,3.4-rc2),并推动该变化到companyremote,所以四个工程师现在正在使用相同的基地内核源。

如果想跟踪linux内核的顶部,但也有某种内部分支/协作,上述工作流程是否正确无误。

如果有文档描述这个过程会更好地欣赏指针。

+0

我已经更新了我在https://gist.github.com/2218449上面执行上述操作的过程 – 2012-03-27 20:26:45

回答

0

我想你可能需要澄清一点。

开发者是否需要跟踪linux内核的最新变化,并确保它们都是针对相同的基线进行编码的? 如果是这种情况,你可能需要考虑使用git子模块。

http://book.git-scm.com/5_submodules.html

Git的子模块支持允许存储库包含作为 子目录,外部项目的结算。子模块维护自己的身份 ;子模块支持仅存储子模块 存储库位置和提交ID,因此其他开发人员克隆包含项目(“超级项目”)的 可轻松克隆所有 子模块。

linux内核将是您项目git存储库中的子模块,并且您决定了克隆项目的任何人在初始化子模块时都会看到的基线。维护基线是通过将远程Linux内核分支的更改提交到子模块,然后提交它们并将新基线推送到项目存储库来完成的。