2012-11-20 24 views
23

我是一个新的git用户。尝试推送到服务器时在netbeans中获得REJECTED_NONFASTFORWARD

我有一个关于bitbucket的存储库,我想将其导入到我在我的实时共享主机web服务器上创建的.git文件夹中(我已经安装了git)。我可以通过SSH提供命令。我遵循http://joemaller.com/990/a-web-focused-git-workflow/的说明

我已经能够在文章中描述的服务器上设置2个仓库。我也有post update和post commit hook。我试图通过推送更新到服务器来测试系统。我正在使用netbeans 7.3 beta git支持。然而,当发出命令:

push (in netbeans) to ssh://****.com/home/******/site_hub.git 

输出是:

==[IDE]== Nov 19, 2012 10:28:15 PM Pushing 
git push ssh://***.com/home/***/site_hub.git +refs/heads/master:refs/heads/master 
Repository Updates 
Branch : master 
Old Id : 0121897bdd7cf3caad9e18717fc27a7a08*** 
New Id : 837c194c70fb41dc7de3be7841c946ca*** 
Result : REJECTED_NONFASTFORWARD 

Local Repository Updates 
No update 
==[IDE]== Nov 19, 2012 10:28:18 PM Pushing finished. 

我怎样才能解决这个问题?

回答

37

非快速推送意味着您尝试推送的分支与当前分支所在的点分离。换句话说,远程中有一些新的提交需要合并才能推送。

要做到这一点,你可以git pull,以合并两个分支,然后推的结果,或者你可以做一个git fetch然后git rebase origin/master(或者你把什么名字给你的远程和盖分支),使您的提交被应用在远程分支的顶部。然后你可以推动结果,这将是一个快速前进。

+0

遵循您的指示,我从服务器存储库中取出,然后推回到它。这里是输出:== [IDE] == 2012年11月20日上午12:24:19拉... git remote -v 设置远程:原点 git pull ssh://***.com/ home/***/site_hub.git + refs/heads/master:refs/remotes/origin/master == [IDE] == 2012年11月20日上午12:24:27拉...完成。 == [IDE] == 2012年11月20日下午12:30:16推 – user61629

+0

git push ssh://****.comt/home/***/site_hub.git + refs/heads/master:refs /头/主 远程仓库更新 科:主 旧的标识:0121897bdd7cf3caad9e18717fc27a7a08ee7f11 新ID:837c194c70fb41dc7de3be7841c946ca75fc8d79 结果:REJECTED_NONFASTFORWARD 本地库更新 没有更新 == [IDE] == 2012年11月20日12时30分29秒AM推完成。 – user61629

+1

@ user61629所以你必须把你的分支“git rebase”放到'origin/master'上。尝试在'master'分支上运行'git rebase origin/master',然后'git push'。 – mgarciaisaia

1

在我的情况做以下似乎这样的伎俩

git checkout master 

git pull 

在我来说,当我切换回高手我得到这个

你分支的背后是“起源/大师”通过8提交,并且可以快速转发 。 (使用“git pull”来更新您的本地分支)

我在想这可能与mgarciaisaia回答的一样,但我想发布以防万一它可能帮助某人。

-1

这里是我的报告NONFASTFORWARD问题

本地库更新 == [IDE] == 3日 - 12月2017年上午11时53分22秒推 - 真菌临成品。 == [IDE] == 3日 - 12月2017上午十一时54分19秒创建分支 GIT中分支--track Master_v2.0主 科创建 名称:Master_v2.0 来自:大师 编号:1dac54d97af9be9e2d4e78ed1550ed486d26a76f GIT中显示冲突 git checkout Master_v2.0 == [IDE] == 3-Dec-2017 11:54:19 AM创建分支已完成。 == [IDE] == 3-Dec-2017 11:54:58 AM提取 - 真菌学专业版 git remote -v 设置遥控器:原产地 git fetch https://[email protected]/larry-mintz/MycoForms.git + refs/heads/master:refs/remotes/origin/master 没有更新 == [IDE] == 3-Dec-2017 11:54:59 AM提取 - 真菌学Pro完成。 == [IDE] == 3日 - 12月2017上午11点55分27秒推 - 真菌临 GIT中分支 GIT中远程-v 设置远程:原点 git的子模块状态 GIT中推https://[email protected]/larry-mintz/MycoForms.git参/头/主:裁判/头/主

远程仓库更新 分公司更新:主 旧的标识:d3c98e3ac615861a1747759639f878ba8f235f38 新ID:1dac54d97af9be9e2d4e78ed1550ed486d26a76f 结果:REJECTED_NONFASTFORWARD

我什么都试过了。在结束时,我这样做:

远程仓库更新 分公司地址:Master_v2.0 编号:1dac54d97af9be9e2d4e78ed1550ed486d26a76f 结果:OK

本地库更新 分公司地址:原产/ Master_v2.0 编号:1dac54d97af9be9e2d4e78ed1550ed486d26a76f 结果:NEW

== [IDE] == 3-Dec-2017 11:57:17 AM设置跟踪分支 == [IDE] == 3-Dec-2017 11:57:17 AM推动 - 真菌学临完成。 git branch --set-upstream-to origin/Master_v2.0 Master_v2.0 分支“Master_v2.0”标记为追踪分支“origin/Master_v2.0” == [IDE] == 3-Dec-2017 11 :57:17 AM设置跟踪分支已完成。