简介
在git治理的工程中,不可避免的存在多个分支,比方风行的gitflow就划分为很多的分支,那么就会有代码的合并。个别代码的合并分为两种:一种是整个分支的合并,一个是筛选局部的commit来合并。本文介绍的就是筛选局部的commit来提交的指令git cherry-pick。
git cherry-pick根底用法
筛选一个commit-id合并
git cherry-pick commit-id
- 留神:合并过去的commit-id将会变掉,产生一个新的commit-id,跟原来的不在雷同
筛选多个commit-id合并
git cherry-pick commit-idA commit-idB
筛选间断的多个commit-id合并
git cherry-pick commit-idA..commit-idB
- 该指令是将从commit-idA开始到commit-idB之间的所有commit-id提交记录都合并过去,须要留神的是,commit-idA必须比commit-idB提前提交,也就是说在被筛选的分支上,先有的commit-idA,而后才有的commit-idB
git cherry-pick高级用法
- 应用下面的指令基本上能够玩转很大部分的场景,然而总有一些咱们料想不到或者绝对不是很丝滑的场景
合并抵触
- 在理论合并的过程中,总有一些抵触的状况,遇到这些状况下,该如何应用cherry-pick的组合命令来解决问题?
- 首先在应用cherry-pick时,如果遇到了代码抵触,其实合并过程会进行,须要应用其余的形式来持续对应的操作
持续合并–continue
- 第一步:须要合并人解决对应的抵触文件,而后提交到暂存区
git add .
- 第二步:应用上面的命令继续执行
git cherry-pick --continue
放弃合并,回归原始状态–abort
- 应用以后的指令,合并的动作暂停,并且回归到操作前的样子
git cherry-pick --abort
放弃合并,保留状态 –quit
- 应用以后的指令,会保留车祸现场,退出cherry-pick
git cherry-pick --quit
联结应用的命令
-e,–edit
- 应用以后指令,会关上编辑器,让用户编写信息
-n,–no-commit
- 只更新工作区和暂存区,不产生新的提交
-x
- 在提交信息的开端追加一行(cherry picked from commit …),阐明这个提交是如何来的
发表回复