我正在使用Heroku,拥有一个稳定的Rails应用程序(生产环境),因此我想创建一个新的环境进行质量保证,在这个环境中,我可以看到如何在Heroku上工作的更改(以及聚合版本发布的增强功能),而不总是将其推送到生产应用程序中。
所以我创建了一个新的Heroku应用程序,并在本地创建了一个新的分支(dev)。我的意图是在我测试过新的Heroku QA应用程序上的更改后,将dev合并到本地的master中,然后从我的主分支推送到Heroku生产。
我的做法可能在我的情况下不太好,因为我是一个新手,所以这只是我最好的猜测。
但是当我将dev分支推送到我的新QA应用程序时,它可以用于将更改推送到QA应用程序的dev分支,但不能用于推送到master。所以我无法在新的QA应用程序上看到(和测试)我的更改。它似乎告诉我,我只能将主分支推送到我的QA应用程序的主分支,因为我已经拉取并且一切都已经更新,但我收到了这个错误:
所以我创建了一个新的Heroku应用程序,并在本地创建了一个新的分支(dev)。我的意图是在我测试过新的Heroku QA应用程序上的更改后,将dev合并到本地的master中,然后从我的主分支推送到Heroku生产。
我的做法可能在我的情况下不太好,因为我是一个新手,所以这只是我最好的猜测。
但是当我将dev分支推送到我的新QA应用程序时,它可以用于将更改推送到QA应用程序的dev分支,但不能用于推送到master。所以我无法在新的QA应用程序上看到(和测试)我的更改。它似乎告诉我,我只能将主分支推送到我的QA应用程序的主分支,因为我已经拉取并且一切都已经更新,但我收到了这个错误:
Pushing to git@github.com:foobar/QA.git
To git@github.com:foobar/QA.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:foobar/QA.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.
有人能帮我弄清楚我做错了什么吗,是我的环境出了问题还是Git的问题?谢谢。