Git远程仓库包含未合并到本地分支的提交

23

我正在Netbeans IDE中使用Git。我想要更改我最近提交的提交消息。我更改了它,勾选了"修改最后一次提交"复选框,并将其提交到我的本地存储库。当我将此提交推送到我的GitHub存储库时,会出现错误:git 远程存储库包含未合并到本地分支的提交。打开输出以查看更多信息。我该如何解决?我是源代码控制新手。我只想对当前项目进行非常基本的版本控制。请告诉我如何解决这个问题。

屏幕截图:

enter image description here

输出信息:

git branch
git remote -v
setting up remote: origin
git submodule status
git push https://github.com/double-whammy/netbeans_affablebean.git refs/heads/master:refs/heads/master
Remote Repository Updates
Branch Update : master
Old Id        : id1
New Id        : id2
Result        : REJECTED_NONFASTFORWARD
Local Repository Updates
Branch Update : origin/master
Old Id        : id1
New Id        : id2
Result        : NOT_ATTEMPTED
==[IDE]== Pushing - AffableBean finished.
7个回答

40

我再次阅读了错误信息,认为应该将本地分支合并到远程分支。我在IDE中四处寻找这些选项。当我尝试以下操作时很幸运:

项目 > 右键点击 > Git > 仓库浏览器

接下来会打开以下窗口:

图片描述

步骤:

  1. 远程分支 > 右键点击 > 合并修订。然后您将看到远程哈希与本地哈希相邻。

  2. 项目 > 右键点击 > Git > 远程 > 推送。这将把您的本地分支代码推送到远程仓库。


1
在我的情况下,我必须在第一步之后再进行另一个提交。 - Rasshu
3
对于我的情况,我需要前往“Remotes”(不是“Remote”,而是“Remotes”)> 右键单击 > 获取(fetch),然后我才能继续进行步骤1。 - Hack-R

11

实现一个拉取操作,然后会出现一个名为“合并”的选项窗口。进行合并操作,然后再尝试进行推送。

对于我的英语水平感到抱歉。


这对我也起作用了。我的问题是在从Netbeans推送之前创建了一个README.md文件。我删除了README,但它仅仅看到有远程提交它没有的,所以在我先拉取之前不允许我推送。但是也许我应该像另一个答案中的Daniel建议那样先获取然后合并。我喜欢看到发生了什么。 - Michael K

9

1
如果您在git存储库浏览器下无法看到远程文件,则首先需要拉取以解决上述问题。
步骤:
1.右键单击项目 > Git > Remote > Pull > 然后选择合并选项。
2.右键单击项目 > Git > Remote > Push。
现在应该已经解决了问题 :-)

0

我会删除仓库,重新创建仓库。请不要提交任何内容。然后在 NetBeans 中添加和提交后再推送它。记住,您可以稍后创建 README.md 或其他文件。


0

虽然已经解决了。 只是想在这里发布一下。 我和你遇到了同样的错误,但这是因为我修改了我的 Github 存储库,没有将其拉到本地存储库。

你需要 remote > pull,然后选择 rebase

这就是我所做的。


0

右键单击您的项目 > Git > 远程 > 抓取 右键单击您的项目 > Git > 分支/ 标签 > 合并修订版 点击合并 现在您应该能够进行推送操作了...


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