2012-01-20 35 views
0

我用以下方法了一会儿:混帐合并停止工作

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

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

To [email protected]:company/project/admin.git 
! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to '[email protected]: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拉的作品,而不是获取和合并。

为什么会发生这种情况?其他开发人员也会遇到这种情况。

回答

1

我觉得这里的问题是,你正在做的:

git fetch origin master 

...这将更新FETCH_HEADmasterorigin,但更新远程跟踪分支origin/master

你可能想要做的:

git fetch origin 

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

这是在git fetch的文档中解释的,但我认为这很公平地说,这是很多人的困惑......