什麼是最好的方式來「分岔」一個項目,與維護人員的變化保持聯繫,並開發自己的功能,同時仍然能夠輕鬆地回饋任何功能,如果他們曾經被接受?如何獲得修改後的主站和遠程主站上的分支之間的差異?
這是我做的,但遇到了問題。
我已經克隆了一個存儲庫,在Feature1分支中做了一些工作,然後合併了從原點然後從feature1,然後原點的更改... 然後我開發了feature2,當然,它也包含feature1代碼。 下面的藝術描述了場景(希望)。
我有我的主人在上游的所有變化,並在他們之上發展。但是,我無法回饋Feature2,因爲它還包含Feature1代碼。我能做什麼?如何獲得針對'aaa'的feature2補丁?
Rebase Feature2和櫻桃挑選排除Feature1提交?沒有太多的解決方案。
git format-patch f2..f4
然後git am
?所有的補丁必須手動應用!
Feature1 Feature2
a---b---c---d---e---f---g-----h---i f2---f3---f4
/ \ \ \ /
--------x'---y'---z'----1---o'---p'---2---3---q'-----r'---t'---l'---aaa'
/ /// // / ///
origin----x----y----z--------o----p-------------q------r----t----l---aaa
使用Github *咳嗽* – mauris