2012-04-02 733 views
10

因此,我的工作環境在Github上只有一個分支與遠程伴侶。我正在嘗試執行git pull --rebase以防止git push創建合併提交消息,這些消息不會向其他人員提供有關此項目的新信息,並且只會讓作品失效。但是,當我嘗試這樣做,它給了我這個:「git pull --rebase」導致「無法重定位到多個分支」

From https://github.com/our_profile/our_repository 
* branch   HEAD  -> FETCH_HEAD 
Cannot rebase onto multiple branches 

而拉中止。調用git branch告訴我,我的本地機器上只有一個分支,所以發生了什麼?

+0

呀,和執行* '混帳拉--rebase' *第二次的作品!這是因爲在第一次操作期間,git獲取數據,所以遠程和本地主分支開始指示相同的提交。 – 2017-04-05 16:17:26

回答

9

嘗試指定你想拉什麼遠程分支:

git pull --rebase origin branch 

另外,您也可以git fetch一切從遠程存儲庫首的變化,然後手動變基:

git rebase origin/branch 
+0

這幾乎奏效,但最終導致了許多文件被標記爲刪除的問題。我必須進入git GUI來保存我對它們完成的工作。 – bourgtai 2012-04-03 23:03:38

+0

你知道爲什麼會出現這種情況嗎? – dbn 2016-03-04 22:39:25

-2

最簡單的解決方案我發現是使用TortoiseGit的上下文菜單項「Git Sync」。在這是一種方法來獲取當前工作分支上的& rebase。

+0

我以爲git pull默認會執行一次抓取,這是所有進入的抓取消息都很明顯的。上面添加了什麼? – Hazok 2013-08-07 20:37:54