2013-07-30 87 views
1

我已經分叉了一個回購。我已經對我的回購做了一些提交,並提出了第一次請求。他們已經合併成原始回購。現在我添加了更多的提交,並且我想提出第二個拉取請求。合併兩個github存儲庫並提出請求

有兩個問題:

  1. 原始回購被修改,我沒有這個變化,我的回購協議。我嘗試從原始回購網址(使用Tortoise Git)進行抓取,但這似乎不起作用(之後沒有任何提交)。
  2. 我無法創建一個拉取請求,其他任何東西都已被拉出。

想使用Tortoise Git的,但我可以使用git命令行,如果我必須;-)。

commits and branches

注:

  • 綠框是已經被推到原來的回購修訂。
  • 紅盒子是我想推到原始回購的修訂。
  • 4號是我應該合併到我的回購。

PS:我讀過關於branching and merging on git-scm,但這似乎是關於在一個回購合併和分支。

編輯:這似乎回答我的第一個問題:Pull new updates from original GitHub repository into forked GitHub repository我不知道我是否應該做或合併在這種情況下,重訂,但...

+0

如果可能的話,我可以使用rebase;這將使您的拉動請求更清潔。 (它不會有任何雜亂的合併提交。) – Ajedi32

+0

但是這是否意味着5,6,7,8將會是單個修訂?我不確定我想要那個。 – Nux

+1

不,這不是什麼亞歷山大。 HTTP:// git的供應鏈管理。com/book/en/Git-Branching-Rebasing – Ajedi32

回答

2

你需要做到以下幾點:

git fetch original 
git rebase original/master 
git push origin master 

(與「original」是遠程參考原始回購URL的名稱。
「上游」將是一個更好的名稱,因爲它不會如此接近「origin」)
(如果你已經推動了你的主分支,您需要執行git push --force origin master

請參閱「Pull new updates from original Github repository into forked Github repository」;

upstream vs. fork

你拉的請求將被自動更新(無需「重做」拉入請求)。

但請注意:總是在分支中發出拉動請求,而不是主人:請參閱「How to do a Github pull request?」。
master應該反映究竟是什麼是在上游('original')master

+0

因此,基本上如果在新事物上工作,我應該爲它創建一個分支?似乎有點奇怪,這不是一個矯枉過正的? – Nux

+1

@Nux如果你想要的是任何新的候選拉取請求。在這種情況下,這並不過分。如果它只針對你的分支(沒有請求),那麼你可以使用一個分支。 – VonC