2017-09-07 130 views
1

我希望儘可能清楚。例如,從沒有提交歷史記錄的另一個分支創建分支

步驟:

  1. 我工作BRANCH1並提出pull請求。
  2. 雖然下PR批准這一分支,我創建從BRANCH1
  3. Branch1的獲得批准,合併開發分支
  4. 當我完成工作,BRANCH2我養的PR BRANCH2。但是當人們看待我的公關時,它具有來自分支1的所有歷史記錄。

問題:我怎麼能(當我爲branch2和branch1合併PR時)看到develop和branch2之間的區別而不是develop和(branch1 + branch2)。基本上,當人們看着我的公關分支2時,他們也必須查找分支1,因爲它是從分支1創建的,但分支1已經合併。

+0

你可以合併開發與branch2?如果你在那裏得到它的合併提交,它可能會省略之前的歷史記錄 – derelict

+0

在branch1合併後開發的Rebase branch2? – Martin

回答

2

當我完成branch2的工作時,我正在提高PR。但是當人們看待我的公關時,它具有來自分支1的所有歷史記錄。

所有你需要做的是git fetch upstream(上游假設git remote -v名單,以你已付出了原來回購參考)
(它沒有,添加:git remote add upstream /url/of/original/repo

那麼你就變基您的branch2上游/主的頂部(其包括被接受branch1代碼和合並)

git checkout branch2 
git rebase upstream/master 
git push --force 

最後的命令將覆蓋喜故事branch2與新的更新之一。您現有的公鑰branch2將自動更新。
它的差異歷史將只顯示branch2提交,不再包括branch1個。

+0

當我做'git fetch upstream'時,錯誤是'致命的:無法從遠程倉庫讀取.'。但是當我檢查'git remote -v'時,它返回'origin https://github.com/project.git(fetch)'。所以,命令'git rebase upstream/master'肯定不會起作用。但'branch1'已經合併並從github中移除,可能是它被刪除的問題。從你的回答中,你說我需要基本上重新分配「master2」作爲我的最終目標? –

+0

只需添加上游:'git remote add upstream https:// url/of/original/repo'。你需要在'upstream/master'上重新命名'branch2',並從那裏強制推送'branch2'。 – VonC

相關問題