2016-07-28 40 views
0

我已經分叉回購了一段時間,最近創建了一個新分支,進行了一些更改,並向原始倉庫提交了一個請求。問題是,在進行更改之前,我完全忘記了使用上游repo更新遠程副本(我認爲Github Desktop中的「同步」在當時處理此問題)...所以,現在我的更改完全不相關,我我想重新開始。使用過時的分叉創建分支和提交的請求。現在怎麼辦?

我開始通過更新我的遠程副本的主分支。但現在我有一個完全無用的分支,這是拉請求中的分支。

我應該怎麼做,而不是像現在更像一個noob?

  • 我是否刪除分支,並重新創建一個新分支?這將如何影響提交的公關?
  • 我是否用更新後的主人更新分支,然後處理所有衝突?
  • 我是否刪除了分支中的所有更改然後重新開始?

我想避免創造更多的混亂比現在如此詳細的步驟將在此情況下非常讚賞。如果這將是一個更清潔的過程,我不必擔心重新開始。

回答

1

衍合分支上要建立你的PR上游分支(假設主)

$ git fetch upstream 
$ git rebase upstream/master 

解決所有衝突

您的分支強制推到原點

$ git push --force origin <branch name> 

公關將自行更新。

+0

啊好吧,所以我認爲這是最類似於選項2.那麼這將如何看待公關?以前的提交會消失還是另一個提交以前的提交? – pbreach

+0

'$ git rebase upstream/master'後我得到'首先,倒帶頭重播你的作品... 錯誤:下面未跟蹤的工作樹文件將被覆蓋簽出'與一些文件,然後'請移動或刪除它們,然後才能切換分支。 正在中止'我只是刪除那些文件呢? – pbreach

+1

您可以用'git clean -df'丟棄未跟蹤的文件,或者以標準方式提交它們。當你有一個乾淨的頭,然後做rebase。 PR的舊提交將會消失,如果對舊代碼有任何評論,他們會說「評論過時的差異」。 – Finwe

相關問題