2011-04-17 49 views
2

在Github上有一個回購協議,如github.com/foo/bar(==上游)如何撤消在我的本地代表所有更改,並使其上游克隆在github上

我把它叉GitHub上.COM /備忘錄/條(==原點)

我會克隆,爲我的硬盤

過的X天的過程中,我從上游,編輯推拉原點。

我的問題是:

  1. 現在我想取消我所有的變化,使我的本地主機(和來源/碩士)相同的上游/大師。我該怎麼做呢?我試過重置 - hard upstream/master,但後來我無法推到原點。

  2. 另外,我想創建一個全新的分支包含我的改裝版本(例如experimental_memo),然後讓我的主分支相同的上游/大師

如果我沒有足夠的github fork(origin),我只是從頭開始克隆,但後來我無法推送,所以我找到的唯一解決方案是刪除我的github上的fork,然後重新fork,重新克隆等!

回答

3

假設你有沒有你的叉子的用戶可以簡單地git push -f後復位到原點。這將破壞現有的克隆,因此只有在確定沒有其他人使用您的分支時才能使用它。

+0

這是我需要感謝的-f標誌。 – memo 2011-04-19 14:00:42

1

你的問題似乎有點朦朧。

當然,如果沒有--force,在硬重置到新的上游之後,您無法推送。使用--force,以減輕(但介意用戶自己的叉子如果有的話)的

認爲您可能希望衍合「改裝版」(改變)到新的上游:

git rebase upstream/master 

這仍然會重寫你的分支歷史,但將重新把所有的MODS