【问题标题】:Github project, intended to show evolution, how to manage forks/branches?Github 项目,旨在展示进化,如何管理分叉/分支?
【发布时间】:2024-04-30 06:55:01
【问题描述】:

我有一个 GitHub 项目,它用几种不同的语言做同样的事情(simple RogueLike game demo@ 在硬编码的地图上移动):

我计划让它更复杂,并在分隔的步骤中为每个实现添加相同的新功能。

  1. 尽可能简单
  2. 朴素的 OO(在适合语言的情况下...)
  3. 简单的地图生成器,而不是硬编码
  4. 等。更多步骤在这里

目的还在于能够做一些事情,比如让人们能够为任何步骤贡献不同语言的实现,如果他们希望/改进实现等,但查看文档我应该是能够弄清楚如何将这些合并回/使用拉取请求

现在,考虑到所有这些,我的主要问题是,对于每个步骤,我应该分叉还是分支项目?

另外,是否可以让 git 保留每个分支的本地副本?因为它似乎只是保留了您目前正在处理的分支,并且有很多摆弄来回同步它们......或者这可能只是因为我是 git 和 github 的新手并且不太舒服使用所有命令。还是因为我应该分叉而不是分支?我尝试创建一个分支以开始执行第 2 阶段,但在尝试更改 2 个分支之间的本地副本时有很多摆弄...

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

【问题讨论】:

    标签: git github


    【解决方案1】:

    你必须fork the project

    分叉意味着:在 GitHub 端进行克隆,这使您可以拥有自己的 SimpleRL 项目代码库(您不能直接推送到该项目,因为您不是直接贡献者之一)

    使用叉子,您将能够:

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

    【讨论】:

    最近更新 更多