它'可能是其他人(例如,你的同事)已将提交到origin/master
上,而这些提交并不在你本地的master
分支中,而你试图将一些提交从本地分支推送到服务器。在99%的情况下,假设您不想从origin
中删除他们的工作,您有两种选择:
2)将他们的更改合并到您的本地分支,然后推送合并的结果。 git checkout master git pull # resolve conflicts here git push
(注意git pull
本质上只是一个git fetch
,在这种情况下,git merge
)
1)调整基线您当地的分行,所以它看起来像你的同事提出了提交第一,然后你做了提交。这使得提交历史很好,并且保持线性 - 并且避免了“合并提交”。但是,如果您与同事的更改发生冲突,则可能需要在最坏的情况下为您的每个提交(而不是仅仅一次)解决这些冲突。从本质上讲,对其他人来说更好,但对你来说更多的努力。 git pull --rebase # resolve conflicts here git push
(注意git pull --rebase
本质上是一个git fetch
和git rebase origin/master
。)
同样的问题:d – core114 2017-11-29 04:07:14