即使没有变化也不可能快进

时间:2015-03-10 20:32:26

标签: git

我最终处于一种奇怪的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告诉我有关此问题的更多信息"不可能"快进?我更加冗长......

3 个答案:

答案 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服务器的代码中,然后添加他们在新分行内手动完成。

希望有所帮助。