将分叉项目从Heroku迁移到Github

将分叉项目从Heroku迁移到Github,heroku,github,Heroku,Github,不久前,我在一个Github repo中发现了一些代码。我下载了它(没有分叉),开始升级它,当我对结果感到满意时,我使用Heroku作为主机。所以现在代码存在于我的电脑和Heroku上。我怎样才能把它推到我的Github帐户上,同时也给项目的原始作者一些荣誉(在我的Github上显示我实际上是分叉的)?好吧,所以我实际上已经弄明白了 首先,在github上创建一个新的存储库,我们将其命名为github项目 git clone git@heroku.com:<heroku-project&g

不久前,我在一个Github repo中发现了一些代码。我下载了它(没有分叉),开始升级它,当我对结果感到满意时,我使用Heroku作为主机。所以现在代码存在于我的电脑和Heroku上。我怎样才能把它推到我的Github帐户上,同时也给项目的原始作者一些荣誉(在我的Github上显示我实际上是分叉的)?

好吧,所以我实际上已经弄明白了

首先,在github上创建一个新的存储库,我们将其命名为github项目

git clone git@heroku.com:<heroku-project>.git
cd <heroku-project>
git remote rm origin
git remote add github https://github.com/<github-username>/<github-project>
git pull github master
这很简单:

  • 在GitHub上创建一个空的存储库,我们称之为
    GitHub项目
  • 从Heroku克隆,我们称之为Heroku项目
  • 为github添加远程服务器
  • 推送到GitHub
  • 执行以下步骤的命令:

    git clone git@heroku.com:heroku-project.git
    cd heroku-project
    git remote add github https://github.com/github-username/github-project
    git push -u github master
    
    就这样

    注意:如果您已经创建了包含自述文件的GitHub项目,那么它不再是空的,最后一次推送将被拒绝。在这种情况下,您可以使用
    --force
    标志强制推送,从而有效地覆盖GitHub上的项目,例如:

    git push -u github master --force
    

    由于不必要的
    git-pull-github-master
    ,这比需要的更复杂。请参阅我的答案,以获得没有冲突的更干净的解决方案。
    git push -u github master --force