我暂时使用以下程序:
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。
为什么会这样?它也发生在其他开发者身上。
答案 0 :(得分:1)
我认为这里的问题是你正在做的事情:
git fetch origin master
...从FETCH_HEAD
更新master
origin
,但不更新远程跟踪分支origin/master
。< / p>
您可能想要这样做:
git fetch origin
...相反,它将更新origin
的所有远程跟踪分支,包括origin/master
。
git fetch
的文档对此进行了解释,但我认为可以说很多人都会感到困惑......