分叉和重命名GitHub项目时的最佳工作流程

Nic*_*ong 41 git open-source github

我试图找出在Github中使用现有开源项目的分支的最佳工作流程.我想采用一个现有项目并对其进行重大更改,在这种情况下将其移植到android并添加特定的android功能.我想满足以下条件:

  1. 当原始代码更新时,能够将更改从其公共仓库提取到新的Android端口.
  2. 当我修复不仅适用于android端口的错误时,能够将更改(通过拉取请求)汇总到原始项目.
  3. 有一个单独重命名的项目版本,以明确它是一个Android端口.我看着重命名一个分叉,Github给了我关于这样做的巨大警告.

我最初的想法是,我将fork原始项目然后fork并重命名我的fork给我以下的repos:

original-author/projectA
nicstrong/projectA
nicstrong/projectA-android
Run Code Online (Sandbox Code Playgroud)

这将允许我在我的本地repo本地/ projectA-android推送更改为nicstrong/projectA-android.然后从原始项目更新我可以将nicstrong/projectA重新设置为原始作者/ projectA的最新版本,然后从nicstrong/projectA获取/合并到local/projectA-android.

我的问题是:

  1. 我对整个Git事情都很陌生.这看起来像是一个好方法吗?或者是否有更好的工作流程来处理这个场景?
  2. 我如何处理从projectA-android推送到nicstrong/projectA所以我可以设置原始项目的拉取请求?

Von*_*onC 19

1 /是,这似乎是最安全的方法,因为您最终反向移植的任何修改nicstrong/projectA都将在具有相同结构的项目中original-author/projectA.
这意味着拉取请求将更容易组织,因为您将在一个镜像原始作者项目的项目中.

2 /如果你有大量的重构的事情nicstrong/projectA-android,我会做一个backport分支,谨慎地合并或挑选您从众多的更改需要的backport分支,然后推动这一分支nicstrong/projectA.
(这意味着你已添加nicstrong/projectA为遥控器nicstrong/projectA-android)

  • 请通知我的女朋友我做了一次正确的事.您在本文中给出的答案对于理解此主题也非常有帮助:http://stackoverflow.com/a/15734936/168205 (4认同)
  • 为了创建所需的多个叉,我使用了这篇文章中描述的技术:http://adrianshort.org/2011/11/08/create-multiple-forks-of-a-github-repo/ (2认同)