ruby-on-rails – 在将远程heroku repo添加到我现有的本地仓库后
这是场景:
1)我的项目合作伙伴和我正在使用github作为代码仓库一起开发Ruby on Rails应用程序. 2)该应用程序在她的github帐户下,她已将我添加为合作者 3)她部署到Heroku并在那里加入我作为合作者 4)我在现有的app目录中使用了以下命令,目的是将现有的Heroku远程应用程序添加为现有本地应用程序的远程应用程序.正如我之前提到的,我现有的本地应用程序已经有了一个远程github git remote add heroku git@heroku.com:codefellow.git 5)我做了一些修改并将它们推送到github,所有这些都是最新的 6)然后我尝试使用以下命令推送到heroku git push heroku master 7)这给了我一个错误,说我的分支的尖端落后,如下所示,但当我试图从github拉,它说我是最新的,如下图所示 ? code-fellows-alumni git:(master) git push heroku master To git@heroku.com:codefellow.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@heroku.com:codefellow.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') hint: before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. ? code-fellows-alumni git:(master) git pull Already up-to-date. 那么有谁知道这里发生了什么?如果我和Github约会,我的本地分支如何与Heroku不同步?我的项目合作伙伴是否可以将更改推送到Heroku而不是先将它们推送到Github?我查了一下,她没有应用程序的分支.我现在无法与她取得联系,以确定她可能做了什么 – 我甚至不确定如果他们还没有被推到Github,它会允许她将更改推送到Heroku.任何见解都将非常感激.我不想从Heroku克隆应用程序,因为我已经在本地与Github同步了.我想使用Github作为代码库,我不愿意从Heroku的克隆开始.我已经看过关于这个的Heroku文档:https://devcenter.heroku.com/articles/git.它只是说要做一个克隆但我不想因为上述原因这样做.我按照这个问题的答案(How to link a folder with an existing Heroku app)中的指示来做到这一点,但似乎有一个缺失的部分,否则我的项目合作伙伴做了一些不寻常的事情.提前感谢您提供的任何有用的想法. 解决方法
您看到的消息表示已对您本地副本中没有的应用程序进行了更改.当你推送它被拒绝是因为Heroku远程比你的更远,所以你认为你的伙伴已经推送到Heroku而没有推送到Github是正确的 – 这是一个常见的情况,因为你部署到Heroku时从本地存储库部署,与传统的Capistrano部署不同,后者通常会从Github部署代码.
这取决于你作为一个团队提出的工作方式,以防止这种情况发生,但如果你现在需要工作,你可以 > git push heroku master -f.这会强制您进行更改,并会使用您的代码覆盖当前的更改> git pull heroku master将Heroku中的更改提取到您的本地仓库中,然后让您在进行更改时执行git push heroku master. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |