0
我分叉了一個公共的Github倉庫,將fork克隆到本地倉庫,做了一些修改,將它們推送到我的fork的主分支。然後,我打開了一個請求,並將它合併到原始回購中。如何在第一次合併後提交另一個拉取請求?
現在我想進行下一個更改。我在本地執行它們,推送到我的分支主分支並嘗試打開另一個請求。 Github將新的更改和先前合併的更改顯示爲屬於此新的請求。顯然,我只想要列出新的更改。
我在做什麼錯,我該怎麼做對不對?
我分叉了一個公共的Github倉庫,將fork克隆到本地倉庫,做了一些修改,將它們推送到我的fork的主分支。然後,我打開了一個請求,並將它合併到原始回購中。如何在第一次合併後提交另一個拉取請求?
現在我想進行下一個更改。我在本地執行它們,推送到我的分支主分支並嘗試打開另一個請求。 Github將新的更改和先前合併的更改顯示爲屬於此新的請求。顯然,我只想要列出新的更改。
我在做什麼錯,我該怎麼做對不對?
他們推到我的叉子的主分支
這可以使你的下一個pull請求很難融合。你現在應該做的是
git checkout master
git pull --rebase upstream master
其中upstream
是「原始」的回購,其master
讓你master
分支線。 rebase
可能需要手動編輯。現在,提交pull請求,分支關老爺:
git checkout -b new-branch
# edit edit edit
git push origin new-branch
,並提交您的新分支拉請求。這樣,您的master
分支就會保持與原始回購協議同步。
如果你仍然有你的master
不在上游的master
提交,請確保你把那些在一個單獨的分支,然後git reset --hard
的master
分支。
你有沒有嘗試重新綁定你的本地分支的上游主? –
@ChrisHeald:呃,不,但用簡單的話來說,我該怎麼做? – sharptooth
如果合併提交者使用了不保留提交SHA的合併方法,那麼您的分支不一定會進行乾淨合併。分離你當前(修改過的)分支,重置master,'git pull origin master',然後在你的新變更集中選擇櫻桃樹可能是最容易的。如果提交SHA被保留了,那麼你可能只需要'git rebase origin/master',它將展開你的提交,更新到master,然後在你的新頭上重放你的提交。 –