代码推送到英雄库不起作用



我想在 gihub 上的 heroku 上推送代码

我使用了以下命令

git push heroku mybranch:master

错误是

To https://github.com/user/lyricle-new.git
 ! [rejected]        lyricle-frt-backend -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/user/app.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and merge the remote changes
hint: (e.g. 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

使用了命令git pull如提示中所述,响应Already up-to-date.

这个错误背后的原因可能是什么? 这是推动Heroku的正确方法吗

通过执行git push heroku mybranch:master,您告诉 git 获取您的本地mybranch分支并将其与远程master分支(远程存储在您的 heroku 存储库中(合并。
您会收到错误,因为master在提交方面领先于mybranch

请考虑以下示例:
master: --------b---------m---------
mybranch:........-c--c--/...........

在某些时候,你将 (b( master 分支到 mybranch 中,将 (c( 一些代码提交到分支中,然后将 (m( 它合并回 master。

现在考虑这个例子:
master: --c-----b---c-----m---c--
mybranch:........-c--c---/.......

这几乎是相同的场景,但是当您将代码提交到mybranch时,有人通过提交其他一些代码来更新master。如果你要合并回mybranch master,你会冒着导致你的代码和master中包含的新代码之间发生冲突的风险,因此Git拒绝进行合并。首先,您必须使用新版本的 master 更新本地分支,然后只有 Git 允许您推送。

总之:
- git pull heroku master:mybranch
- 解决潜在冲突
- 提交修改的文件
- git push heroku mybranch:master


现在关于 Heroku,你应该总是像这样推送代码:git push heroku master(考虑到你在本地master分支上(。为了避免像git push heroku mybranch:master这样的事情,你应该做的是,当你完成一个分支的工作时,总是将你的更改合并到master然后(在验证一切正常后(将master推送到heroku。

请参阅此资源以获取简单的 git 工作流,这些工作流似乎是您正在寻找的:https://www.atlassian.com/git/workflows#!workflow-feature-branch

所有内容最终都集中在 master 中,然后您可以定期将 master 推送到 heroku(理想情况下,您将为每个版本的应用程序推送一次(

从提示来看,您似乎尚未将最新更改推送到远程存储库。如果您执行了拉取并再次推送,则可能您已经删除了本地存储库中未在远程存储库中删除的文件。请尝试执行 git add --all,然后提交并推送更改。

最新更新