2015-02-05 52 views
4

我已經把自己變成了一個Git泡菜,我真的不知道我做了什麼,或者如何回到我期望的位置。分支問題,弄亂了我的主人在叉子上

我會去通過什麼我也記得這樣做的:

  1. forked的F#圖表回購並克隆它。
  2. 我做了一個分支IsMarginVisibleSupport
  3. 做了一個單一的提交到分支。
  4. 將更改推送到我的遠程。
  5. 做了PR。
  6. Don Syme將它合併到F#Charting Repo中。
  7. 我在Git Hub上刪除了我的分支。
  8. 檢出master並做了git up
  9. 本地刪除分支。

我以爲一切都很好...

我後來去再拍變化

  1. 創造了另一個分支,IsMarginVisible-TestsAndComments
  2. 製造4犯了進去。

事情在這個分支上看起來還行。 我現在已嘗試更新我的master,其中可能已經對F#Charting遠程進行了任何更改。我不知道在何時何地在這個過程中我這樣做,我不完全相信我做什麼,我發現的東西從不同的地方,但現在我有一個歷史,看起來像這樣:

enter image description here

我不知道我做了什麼...

也在某些時候,我推動我的分支GitHub:另外,我有我的分支到GitHub pushed

我想要的是在我再次發送公關之前,在我的分支中關閉了Git Hub的所有更改。

任何想法,我可以讓它看起來應該是這樣嗎?

+0

'git rebase master' – 2015-02-05 22:36:54

+0

@AndrewC - 更新的問題提到我已經推到GitHub – DaveShaw 2015-02-05 22:39:55

+0

所以你有起源/主和上游/主。我猜測origin/master上的1提交與上游/主服務上的相同Subject有相同的內容?如果是這樣的話,那麼你會希望你的起源/主人和你的主人指向上游/主人,那麼你會想要重定位IsMarginVisible-TestsAndComments。 – 2015-02-05 23:53:06

回答

4

看起來你不小心冒犯了master(「Uncomment IsMarginVisible」)。因此,您無法快速執行上游/主服務器,並創建新的合併提交,使您的提交歷史記錄混亂。驗證你沒有任何重要的未提交更改後

  1. git checkout master
  2. git reset --hard upstream/master

    ,應重置你的主人。這會將任何更改(已提交和未提交)回滾到upstream/master的狀態!

  3. 此時不要拉
  4. git push --force origin master

master現在是再次與上游主機和您的叉子同步/ origin應該有分別在上游master的所有更改。

請記住,如果您正在爲GitHub OSS項目工作,請不要承諾master,它會讓生活變得更輕鬆。

0

在您的本地機器上輸入git reflog,您將看到迄今爲止所做的全部歷史記錄。

從你在這裏顯示的圖形看來,你的分支並沒有合併到master中。

只要你不推動沒有危害已經完成,只需合併你的本地分支機構,並驗證提交圖之前,你推。

+0

合併我的分支到我的主人?使用GitHub Flow我以爲我從我的分支發送了一個PR?此外,我已推動我的分支GitHub:https://github.com/xdaDaveShaw/FSharp.Charting/commits/IsMarginVisible-TestsAndComments – DaveShaw 2015-02-05 22:35:55

+0

如果您使用PR,所以使用PR,一旦點擊在UI中的合併它將合併它。一旦你合併你的分支大師將有兩個分支的代碼,所有都會沒事的。 – CodeWizard 2015-02-05 22:37:34

相關問題