亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

git Your branch and 'origin/dev' have diverged

git Your branch and 'origin/dev' have diverged

Git
慕勒3428872 2018-07-23 21:06:02
執行git push時出現了以下錯誤:Your branch and 'origin/dev' have diverged,and have 1 and 2 different commits each, respectively.我在兩臺電腦上工作,電腦A和B初始都是up-to-date,之后我先在A中commit并push了幾次,然后我現在在電腦B中從初始狀態編寫,然后試圖在commit之后push,出現了上述問題(使用同一個本地和云分支)?,F在我想:合并這二者,顯示不同,然后重新commit并push
查看完整描述

1 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

假設,遠程上的 commit 是 A -> B
你在 A 電腦上 commit 和 push 之后,遠程變成了 A -> B -> C -> D
現在,B 電腦上還是 A -> B。然后你 commit 了,那么 B 電腦上就是 A -> B -> E。

所以,你需要的是把 B 電腦上的歷史線變成 A -> B -> C -> D -> E
這時,你需要在 B 電腦上:

git pull --rebase origin dev

這個命令等同于:

git fetch origingit rebase origin/dev

執行之后,B 電腦上的歷史線就會變成 A -> B -> C -> D -> E,然后你就可以 push 了


多說一句,之所以顯示上面的“錯誤”,是因為 A -> B -> C -> D 和 A -> B -> E 有一個共同的祖先 B,你在本地多了一個 commit E,遠程多了兩個 commits C 和 D。這個時候如果你要在 A -> B -> E 的 branch 上 push,git 猜不出到底想保留 C 和 D,還是只要 E,還是都要,就會出現上面的提示。


查看完整回答
反對 回復 2018-07-29
  • 1 回答
  • 0 關注
  • 2526 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號