它'可能是其他人(例如,你的同事)已將提交到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