我在推送到github存储库时收到此消息。您能告诉我逐步解决问题的方法吗?我只推了一次,就成功了。但是,当我更新项目并尝试推送第二次提交时,它显示“主拒绝非快速转发”,并且不允许我推送。请说明程序。
我在推送到github存储库时收到此消息。您能告诉我逐步解决问题的方法吗?我只推了一次,就成功了。但是,当我更新项目并尝试推送第二次提交时,它显示“主拒绝非快速转发”,并且不允许我推送。请说明程序。
Answers:
我遇到了同样的问题,并且能够解决它。afk5min是正确的,问题出在远程存储库上,您从中提取代码的分支已经更改。按照标准的git做法(http://git-scm.com/book/en/Git-Basics-Working-with-Remotes),您需要(现在)将远程存储库中的更改合并到本地更改中,然后再进行操作可以提交。这是有道理的,这迫使您进行他人的更改并将其合并到您的代码中,以确保您的代码在其他更改就位的情况下继续起作用。
无论如何,继续执行步骤。
配置“提取”以提取最初从中提取的分支。
获取远程分支。
将该远程分支合并到本地分支。
在您的本地仓库中提交(合并)更改。
将更改推送到远程仓库。
详细地...
在eclipse中,打开“ Git存储库”视图。
确保您看到本地存储库,并且可以将远程存储库视为子文件夹。在我的版本中,它称为远程,然后我可以看到其中的远程项目。
查找指向左侧的绿色箭头,这是“获取”箭头。右键单击并选择“配置获取”。
您应该看到URI,确保它指向远程存储库。
查看弹出窗口的ref映射部分。我的是空的。这将指示您要获取的远程引用。点击“添加”。
输入您需要从远程存储库获取的分支名称。我的是“主人”(顺便说一句,这里的下拉列表会很棒!!,现在,您必须输入它)。继续执行弹出窗口,最后单击“完成”。
点击“保存并提取”。这将获取该远程引用。
在本地存储库的“分支”文件夹中查找。现在,您应该在远程文件夹中看到该远程分支。我再次看到“主人”。
右键单击“分支”的“本地”文件夹中的本地分支,该文件夹名为“ master”。选择“合并”,然后选择名为“源/主”的远程分支。
通过合并过程。
提交对本地存储库的任何更改。
将您的更改推送到远程存储库。
去喝一杯可口的饮料,祝贺自己。休息一天。
Merge
在主项目中单击鼠标,然后再次右键单击push branch Master
工作的项目
同时(在更新项目时),其他提交已提交给'master'分支。因此,您必须先拉那些更改,然后才能推您的更改。
适用于Eclipse Luna + Eclipse Git 3.6.1
一世,
我在EGit上遇到了这个问题,这就是我如何解决的问题。
是的,有人在我提交更改之前提交了更改。因此,更改被拒绝。发生此错误后,更改实际上将提交到本地存储库。我不想仅仅Pull
进行更改,因为我想linear history
按照-中的指示进行维护- 在什么情况下`git pull`可能有害?
因此,我执行了以下步骤
Fetch from Upstream
-它获取远程更新(引用和对象),但本地不进行任何更新。有关更多信息,请参考“ git pull”和“ git fetch”之间的区别是什么?Rebase...
-这将打开一个弹出窗口,单击以Preserve merges during rebase
查看为什么Rebase button
conflict(s)
,则转到步骤6,否则转到步骤11Rebase Result
会出现一个弹出窗口,只需单击OK
file comparator
将打开,您需要进行修改left side file
。Git Staging
视图stage the changes
。即add to index
Rebase
-> Continue
。重复7到10,直到解决所有冲突。History
视图中,选择您的提交行,然后选择Push Commit
Rebase Commits of local.......
复选框,然后单击下一步。请参阅原因-Git:从上游重新部署到开发分支Finish
注意:如果您有多个本地存储库提交,则需要将它们压缩在一个提交中,以避免多次合并。
配置 当您收到拒绝的消息时输入代码后,单击配置,然后单击添加规格,如图所示