【问题标题】:How to fork my own repo into a new project?如何将我自己的 repo 分叉到一个新项目中?
【发布时间】:2012-07-24 14:01:20
【问题描述】:

我正在开发一个 HTML5 游戏引擎。我使用 Git 作为 SV 和 GitHub 来实际托管项目。

我对设计做了一些实质性的改变(主要是切换到实体系统范式),我认为是时候换一个新引擎了。

我想以旧引擎为基础,因为我可以使用很多代码。

这样做的标准方法是什么?新引擎将有一个新名称,旧引擎将被视为“完成”。

【问题讨论】:

    标签: git github svc


    【解决方案1】:

    如果你的意思是你想要一个带有新仓库的新项目,但要与旧项目共享历史,那么简单的方法是

    $ git clone https://github.com/your_name/old_project new_project
    # make new, empty project on GitHub called new_project
    $ cd new_project
    $ git remote rename origin old_project
    $ git remote add origin https://github.com/your_name/new_project
    $ git push -u origin
    

    现在您有了一个新项目,但在您的本地克隆中,您仍然可以从旧项目中获取提交,以使用git cherry-pick 等对公共代码进行错误修复。

    【讨论】:

      【解决方案2】:

      你需要分支

      git branch <your_new_branch>
      git checkout <your_new_branch>
      

      切换回旧分支

      git checkout master
      

      列出所有分支

      git branch
      

      【讨论】:

      • 我不确定是否应该为此使用分支。新引擎应该是一个全新的项目,有自己的 GitHub 目录。旧的已经完成,我希望它在我的 GitHub 页面上列出。
      • 为此,您可以在 github 上创建一个新的 repo,并将其 git 地址添加到 git remote add new_repo git://github.com/foo/bar 中的远程,现在您可以推送到该 repo 并说 git push new_repo your_branch。如果新版本基于以前的版本,我建议您对项目进行核心分支。
      • “硬核分叉”是什么意思?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-29
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多