2013-05-21 196 views
0

我創造了我的私人&本地使用git clone --bare $upstream (這裏How to create a git repository on my server from the github server?詳述)連接我的本地git存儲庫與github分叉庫?

庫在那個時候,我沒有想到我會是導致原來的github回購。 ($上游)
而我發現拉請求是唯一可能從github存儲庫。

所以我的問題是我怎樣才能貢獻原始的github回購?

不知下面的策略是可行的:

  1. 我從$上游(原來的開源GitHub的 回購)創建一個github上叉
  2. 莫名其妙地教我關於新的GitHub叉本地回購(如我的git remote add
  3. 在我的本地克隆上創建分支(MyWork),工作並推送到新的github分支
  4. 將請求提交給原始代表o auther。

編輯

因爲有許多的修改(提交)在我的私人回購,
我需要很長的路要走,以目前的$上游的清潔狀態(上游的主沒有我本地修改,我在我的起源/主,而不是在MyWork中)。

(所以我拉請求沒有我的修改,除了分支(對於拉動請求))

我怎麼能這樣做?

+0

你建議的步驟是正確的 - 第2步將是'git remote add [email protected]:my/fork.git' – 1615903

+0

user1615903,你能看看我的編輯嗎? – eugene

+2

假設你有遠程'上游'(原始版本庫)和'mygithub'(叉),你可以像往常一樣通過'git fetch upstream'來獲得它們的清理狀態,然後在分支'mywork'中重新分配你的工作,即到'upstream/master'上,然後最後'git push mygithub mywork'。 - 您在分支中的本地更改是否稱爲「master」或位於不同的分支中? – chirlu

回答

0

花了我很長的時間弄清楚..
在git中有一個cherry-pick命令,這對我的情況是完美的。

Send a pull request on GitHub for only latest commit

基本上,

git checkout -b MyWork_for_pull_request upstream/master (make branch off upstream/master not origin/master) 
git cherry-pick `sha-of-MyWork-branch's-commit` (pick out commits I want to contribute) 
git push mygithub_fork MyWork_for_pull_request 
在GitHub的頁面

並按pull request