git中的遴选cherry-pick和变基rebase的使用
遴选:
将2分支上的某些commit提交到3分支上:
1. 切到3分支上
2. 选中2分支上需要抽取的commit,按shift可以多选
3. 点击遴选
4. 如果遇到冲突,解决冲突,并标记已解决即可
5. 提交
注意: 一次遴选过后,想要继续遴选,需要打开终端,执行git cherry-pick --quit 命令才可继续遴选
变基:
起因:从master分支上开出来的b1分支,而b1在合并到master之前,开了一个新的分支b2;当b1合并到master分支后,b2中并不包含b1部分,合并到master上,可能会在master上产生冲突;为了避免在master上产生冲突,选择变基rebase
1. 切到b2分支
2. 点击master上的最后一个节点(也可以是目标节点)
3. 右击变基
4. 若存在冲突,本地解决冲突过后,不要push,而是点击动作->继续变基(可能会有n次继续变基)
5. 点击强制推送,将本地的代码强制替换远程的代码 git push --force
注意: 强制推送的设置: 偏好设置->高级->允许强制推送