当git pull导致冲突但是git pull --rebase不是什么意思?

时间:2010-05-20 13:44:44

标签: git merge rebase pull

我从只有我有权访问的存储库中提取。据我所知,我只是从一个存储库推送到它。有几次,我试过推动它并得到了这个:

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

通常,这只意味着我必须执行git pull(尽管所有更改应该可快速转发)。当我做git pull时,我会遇到冲突。如果我做git pull --rebase,它可以正常工作。我做错了什么?

1 个答案:

答案 0 :(得分:3)

这意味着当前源/主服务器和当前主服务器(使用您自己的提交)不兼容,但如果您自上次更新后获得更改并将它们放在您自己的提交之前,则会导致非冲突状态。

基本上,这取决于您如何订购有冲突的提交。使用rebase,你可以将原点放在你的前面,通过合并,你可以将原点作为一个整体放在你的主人身上,这可以有所作为。