Github项目,旨在展示进化,如何管理分支/分支?

时间:2011-02-10 02:46:38

标签: git github

我有一个GitHub项目,它以几种不同的语言执行相同的操作(simple RogueLike game demo@在硬编码的地图上移动):

我打算让它更复杂,并以分隔步骤为每个实现添加相同的新功能。

  1. 尽可能简单
  2. Naive OO(适用于语言......)
  3. 简单的地图生成器而非硬编码
  4. 等。这里有更多步骤
  5. 目的还在于能够做一些事情,比如允许人们为任何步骤提供不同语言的实现,如果他们希望/改进实现等,但是看看我应该是的文档能够弄清楚如何合并这些/使用拉取请求

    现在,鉴于这一点,我的主要问题是,对于每一步,我应该分叉还是分支项目?

    此外,是否可以让git保留每个分支的本地副本?因为它似乎只是保留了你正在处理的分支,而且还有很多摆弄它们来回同步它们......或许这只是因为我是git和github的新手而且并不完全舒服还有所有的命令。或者是因为我应该分叉而不是分支?我尝试做一个分支开始做第二阶段,当试图在两个分支之间更改我的本地副本时,有很多摆弄......

    请对我温柔,我是git / GitHub的新手,我尝试使用Google搜索和搜索StackOverflow,但我不确定我在寻找什么。

1 个答案:

答案 0 :(得分:2)

你必须fork the project

分叉意味着:克隆在GitHub端,这允许您为SimpleRL项目拥有自己的代码库(您不能直接推送到该项目,因为您不是直接贡献者之一)< / p>

使用前叉,您将能够:

  • 在本地克隆它,并使您想要隔离重构/增强的任何分支
  • 将任何一个分支推回到GitHub上的SimpleRL分支(确保其他人可以看到这些新功能并自行克隆/测试)
  • 使用最初的SimpleRL回购中的任何进化来更新您的前叉(您需要add it as a remote)。
  • 回馈through pull request,前提是您的新代码与原始代码不同,太多。这不是强制性的。如果你的演变既大又好,那么你在GitHub上的分支最终可能成为SimpleRL项目的新默认参考。