我最终处于一种奇怪的git状态。我想从服务器拉出来,只是快进。
然而,即使没有任何变化,git仍然告诉我"不可能快进"。
$ git pull -v --ff-only
From github.com:username/repo
= [up to date] branch -> origin/branch
= [up to date] branch2 -> origin/branch2
= [up to date] branch3 -> origin/branch3
fatal: Not possible to fast-forward, aborting.
我如何告诉git告诉我有关此问题的更多信息"不可能"快进?我更加冗长......
答案 0 :(得分:5)
当(a)您之前在该分支上提交了某些内容,或者(b)远程服务器上的历史记录以非标准方式更改时(这通常不会发生,但存储库所有者有时不会通过规则)。
对于以下情况,我假设你在foo
,而上游分支是origin/foo
。
git log ..origin/foo
查看远程端的新提交内容。git log origin/foo..
查看您身边存在的远程端不存在的提交(这将显示任何阻止快进的提交)。git reset --hard origin/foo
强制您的分支与远程分支相等(这将破坏所有未提交的更改和任何提交未包含在remote/foo
中的内容将无法访问)。答案 1 :(得分:2)
您对开发的承诺与您的出身不匹配,请执行以下操作:
git pull origin develop --rebase
答案 2 :(得分:0)
解决方法。
我通过Beanstalk使用Xcode 来推送/拉入Git。这是我如何解决这个问题。
files
解决方法:我的海外选民将Master Branch复制到一个名为NEW Branch的新分支,然后推送代码。然后我拉了。
我们已经启动并正在运行。
然后我去了Beanstalkapp.com的帐户,并将我的基本分支从Master更改为NEW。
我的最后一步是将Master合并到New Branch,但我可能会在Beanstalk中做一个Compare,然后选择我所做的更改,而这些更改还没有被放入Git服务器的代码中,然后添加他们在新分行内手动完成。
希望有所帮助。