Git命令
git cherry-pick <commit id>
使用背景
- 用戶中心需要優(yōu)化邦危,在分支daily/1.3.0上開發(fā)。
- 在優(yōu)化的過程中提取了公共部分獨立成文件或模塊航缀,提交到了daily/1.3.0上芳誓。此時分支上即有公共部分,又有此次優(yōu)化的功能點兔簇。
- 突發(fā)奇想,想要對別的地方進行優(yōu)化硬耍、抽象別的方法垄琐,但是又不想影響此次的功能,即不想也不能提交在daily/1.3.0上经柴。
- 如果基于daily/1.3.0新建分支的話狸窘,除公共優(yōu)化部分還會帶來多余的功能點;但是基于干凈分支新建一個分支坯认,優(yōu)化的歷史記錄難道要一個一個拷貝粘貼翻擒?氓涣??陋气?
- 還好劳吠,在優(yōu)化的時候,抽象方法相對功能點獨立巩趁,commit比較干凈
目的
新建一個干凈的優(yōu)化分支痒玩,把daily/1.3.0關(guān)于公共優(yōu)化部分的commit搞過來
工具
WebStorm
步驟
- 基于master或別的干凈、可上線的分支新建并切換至分支refine/routes-common
- 打開WebStorm下的Version Control议慰,選擇Log選項卡蠢古,Branch選擇daily/1.3.0
Version Control: Log選項卡
3.選擇需要合并的commit, 右鍵->cherry-pick (之所以不使用命令行是多選commit的時候比較麻煩)
選擇需要cherry-pick的分支
-
像普通提交一樣commit别凹,如果有沖突草讶,像普通解決沖突一樣解決
commit
其實
如果只涉及文件變動,也可以使用git checkout來合并文件夾