使用Git管理第三方开发人员

时间:2015-05-18 04:30:38

标签: git

我们即将启动一个项目,我们将在其中定制一个大型开源项目。我们将以几种不同的方式修补现有项目:

  • 主题:改变外观&感觉,更改将主要在现有项目目录结构中的一个或几个新子目录中
  • 扩展:现有项目有一个扩展概念,代码只触及项目目录结构中的一个或几个新子目录
  • 核心变化:可能需要对现有项目的核心进行一些小的更改(尽可能少)
  • 配置更改:可能需要对现有项目中的现有文件进行一些更改,例如注册新的扩展/主题

现有项目定期发布补丁或新版本,我们希望应用这些补丁和新版本(当它有意义时)。我们将使用一个或多个第三方来开发主题和扩展。

我试图找出利用Git管理这个项目的最佳方法。我们希望第三方定期发布代码(每天?每周?),以便我们监控进度。多个第三方可能同时开发代码。

我对Git进行了大量研究,但我不确定最佳方法是什么。我认为How to manage a Git "upstream" branch and related patches?非常有趣,并且想知道如何为我们的项目调整它。

这样的东西?

  • '上游' branch是现有项目,应用于此分支的新上游补丁
  • 每个主题或扩展名一个分支

Git是否可以让第三方解决主Git存储库的克隆并定期创建一个拉取请求,我将其应用于主存储库的相应分支?

1 个答案:

答案 0 :(得分:1)

呀。这基本上是分叉' git工作流的方法。您有一个主存储库,除了少数几个选定的候选人之外,它们是只读的。任何想要贡献的人都会将代码提交给他们自己的fork。当他们想要将代码提交给主仓库时,他们会发送一个包含其提交列表的拉取请求。

具有对主仓库的写访问权限的人可以合并那些以外行人的方式提交的拉取请求,将提交从fork下载到主仓库。

贡献者通常将主要仓库称为上游,将自己的叉子称为原始仓库。但这些只是远程名称,也可以是其他任何东西。

请查看以下文章,以获得更好的解释https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow