分叉和重命名GitHub项目时的最佳工作stream程
我正在试图找出在Github中使用现有开源项目的分支的最佳工作stream程。 我想采取一个现有的项目,并做了重大的改变,在这种情况下,将其移植到Android,并添加特定的仅Androidfunction。 我想满足以下几点:
- 当原始代码更新时,能够将更改从公共回购拉到新的Android端口。
- 当我修复不只适用于android端口的错误时,能够将更改(通过拉请求)放到原始项目中。
- 有一个单独的项目更名版本,以明确它是一个Android端口。 我看着重命名一个叉子,Github给了我很大的警告。
我最初的想法是我将叉原来的项目,然后叉和重命名我的叉给我以下回购:
original-author/projectA nicstrong/projectA nicstrong/projectA-android
这将允许我在我的本地回购本地/ projectA-android推送更改为nicstrong / projectA-android。 然后从原始项目更新,我可以将nicstrong / projectA从最初的作者/ projectA重定义为最新版本,然后从nicstrong / projectA获取/合并到local / projectA-android。
我的问题是:
- 我对整个Git的事情都很陌生。 这似乎是一个好方法吗? 还是有更好的工作stream程来处理这个scenerio?
- 我将如何处理从projectA-android推回到nicstrong / projectA,所以我可以设置原始项目的拉请求?
1 /是的,这似乎是最安全的方法,因为您最终在nicstrong/projectA
进行的任何修改都将在与original-author/projectA
相同的项目中进行。
这意味着拉请求将更容易组织,因为您将在项目中反映原作者的项目。
2 /如果你在nicstrong/projectA-android
进行了大量的重构,我会做一个backport
分支,仔细合并或者从backport
分支的大量修改中挑选你需要的东西,然后把那个分支推送到nicstrong/projectA
。
(这意味着你添加了nicstrong/projectA
作为nicstrong/projectA-android
一个远程)
git仓库的名字很大程度上取决于远程的名字。 继续克隆,然后添加一个新的远程(通过一个不同的名字),并开始推到那里。 当然,在这一点上,你可以继续改变项目目录的名称,而不会出现问题。