更新被拒绝,因为您当前分支的顶端落后于其远程对应物。集成远程更改(例如,'git pull ...')并尝试再次推送以解决此问题。

124
因为你当前分支的顶部落后于它的远端对应分支,所以更新被拒绝了。请将远端的更改合并进来。
我试图将本地 Octopress 博客推送到远端分支,但出现了上述错误。
另一个问题是:我需要管理或推送本地更改到源或原始分支吗?
当我访问用户名.github.io 时,应该看到本地博客的远端版本(我使用 rake deploy 命令)。但我在我的用户名.github.io 上没有看到更新的博客内容。我对源和原始分支有疑问。

我之所以添加这个内容,是因为问题涉及到了 Octopress。在我的情况下,rake deploy 没有起作用,因为我已经从网站上修改了 Github 仓库(在我的情况下添加了一个 CNAME 文件)。修复网站发布的方法是在 _deploy/ 文件夹内执行 git pull 命令。之后,rake deploy 就能够发布我的更改了。 - jivimberg
1个回答

83
你需要通过运行git pull将远程分支合并到当前分支中。
如果你的本地分支已经是最新的,你可能还需要运行git pull --rebase
一个快速的谷歌搜索还找到了另一个SO用户提出的同样的问题:Cannot push to GitHub - keeps saying need merge。更多细节请查看那里。

1
重要的是确保在执行 git pull 命令时将远程分支合并到当前分支。 - Tony Brasunas
96
执行 git pull 命令时提示 Already-up-to-date,但执行 git push origin my-current-local-branch 命令时,仍然出现这个帖子标题中提到的错误。 - Awesome_girl
@Awesome_girl 你解决了吗?我也遇到了完全相同的问题,一直提示我的分支已经是最新的,但当我尝试 git push 时却说我落后了。 - twigg
10
git 拉取 --rebase - Michael James Kali Galarnyk
14
谢谢您的评论,它对我有用。但是当我运行"git pull --rebase"时,出现错误信息:"There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details." 因此,当我运行"git branch --set-upstream-to=origin/master master"之后,"git pull --rebase"正常工作了。可恶的"read me"文件让我陷入了所有这些麻烦中。 - Hussein Nasser
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接