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)中的指示来做到这一点,但似乎有一个缺失的部分,否则我的项目合作伙伴做了一些不寻常的事情.提前感谢您提供的任何有用的想法.
解决方法
这取决于你作为一个团队提出的工作方式,以防止这种情况发生,但如果你现在需要工作,你可以
> git push heroku master -f.这会强制您进行更改,并会使用您的代码覆盖当前的更改> git pull heroku master将Heroku中的更改提取到您的本地仓库中,然后让您在进行更改时执行git push heroku master.