我在GitHub上分叉回購並提交了一個pull請求。該項目的維護人員拒絕了拉取請求,但我們在論壇中找到了更好的解決方案。他們指示我用另外的變化創建另一個拉取請求。但是,我在GitHub上存儲庫的分支現在已經過時了,因爲我分叉後更新已經推到了主倉庫。此外,GitHub上的存儲庫有一個額外的提交(我的拉取請求提交),不應該在那裏,因爲它不被接受爲項目的一部分。如何在pull請求被拒絕時更新GitHub分叉的回購?
我發現這個問題:How do I update a GitHub forked repository?
我跟着指示,特別是,我這樣做:
git remote add upstream git://github.com/fuel/core
git fetch upstream
這導致:
remote: Counting objects: 93, done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 69 (delta 49), reused 40 (delta 20)
Unpacking objects: 100% (69/69), done.
From git://github.com/fuel/core
* [new branch] 1.0/master -> upstream/1.0/master
* [new branch] 1.1/master -> upstream/1.1/master
* [new branch] 1.2/develop -> upstream/1.2/develop
* [new branch] 1.2/master -> upstream/1.2/master
* [new branch] 1.3/develop -> upstream/1.3/develop
* [new branch] 1.3/master -> upstream/1.3/master
* [new branch] 1.4/develop -> upstream/1.4/develop
* [new branch] 1.4/master -> upstream/1.4/master
* [new branch] 1.5/develop -> upstream/1.5/develop
* [new branch] 1.5/master -> upstream/1.5/master
* [new branch] 1.6/develop -> upstream/1.6/develop
* [new branch] feature/better-hmvc -> upstream/feature/better-hmvc
好了,似乎所有的精好的。我確信我是在正確的分支上:
git checkout 1.6/develop
Already on '1.6/develop'
單詞。好吧,現在這個:
git rebase upstream/1.6/develop
First, rewinding head to replay your work on top of it...
Applying: prevent invalid XML node names
等等......什麼?爲什麼要「防止無效的XML節點名稱」被應用?這是項目維護人員拒絕的拉取請求。我顯然錯過了「rebase」的真正意義。現在,如果我git status
它說:
# On branch 1.6/develop
nothing to commit (working directory clean)
當我git log
,我可以看到我的問題的一半已經解決。自從我分叉以來,已經將這些更改引入到項目中,現在反映在我的git log
中。但是,最近的提交仍然是「防止無效的XML節點名稱」。我如何消除它?
我嘗試檢查出的最後提交所做項目:
git checkout 5f31a4df55e5b6ca1b2092534063a1fce4a32181
然而,這讓我在一個分離的頭狀態。它說我可以環顧四周,進行修改並提交。我不認爲這就是我想要做的。我想我希望HEAD指向提交5f31a4df55e5b6ca1b2092534063a1fce4a32181。我下一步要做什麼?
謝謝!我想重複一遍,因爲它對我很有幫助:**「然後,爲您的新公關創建一個新分支,這樣您就不會再遇到這個問題。」** – 2013-06-19 20:47:51
這似乎是一個更精確一點:http://stackoverflow.com/a/8135023/89818推動是我必要的。 – caw 2014-02-23 06:38:33