git merge停止了工作

时间:2012-01-20 16:19:37

标签: git

我暂时使用以下程序:

git fetch origin master  
git merge origin/master  
git push --dry-run origin master  
git push origin master

现在这已停止工作并产生此错误

To git@example.com:company/project/admin.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@example.com:company/project/admin.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

现在只有git pull工作,而不是fetch和merge。

为什么会这样?它也发生在其他开发者身上。

1 个答案:

答案 0 :(得分:1)

我认为这里的问题是你正在做的事情:

git fetch origin master

...从FETCH_HEAD更新master origin,但更新远程跟踪分支origin/master。< / p>

您可能想要这样做:

git fetch origin

...相反,它将更新origin的所有远程跟踪分支,包括origin/master

git fetch的文档对此进行了解释,但我认为可以说很多人都会感到困惑......