2016-08-21 42 views
0

實例日誌圖:git的承諾,以自定義父

A B 
|/ 
a 

誠徵各地(尚未推)的工作流程:

  • 如果提交需要x只是分支A - 提交x進入分支A
  • 如果僅提交x僅用於分支B - 提交x進入分支B
  • 如果提交x需要爲分支機構AB - 提交x上頂修訂a,分行A的最近的共同祖先和B

最後一種情況應將對數圖變成:

A B 
|/ 
x 
| 
a 

什麼是簡單完成這樣一個工作流程的方式? (獎金,如果它在Emacs/Magit)

+0

我不明白你的速記。 'A'和'B'是不同分支的提示?是另一個分支嗎? –

+0

@EdwardThomson'A'和'B'是不同分支的提示,'a'只是一個修訂/提交 – xged

+0

您不能以任何方式改變提交的祖先而不重寫它。 checkout a,commit x,rebase x A,rebase x B.沒有辦法隱藏別人的改動,他們將不得不重新提取和重新分配他們自己的任何工作。 – jthill

回答

3

創建基於a一個新的分支:

git checkout -b workbranch a 

進行更改,然後提交它們:

... 
git commit -m 'i made some changes' 

再次基於AB對你的工作分支:

git checkout A 
git rebase workbranch 
git checkout B 
git rebase workbranch 

刪除workbranch如果你不' t需要它:

git branch -D workbranch 

根據需要重複。