相关文章推荐
首发于 Develop Tools
git cherry-pick概念及冲突解决

git cherry-pick概念及冲突解决

一、cherry-pick适用于什么场景?

假设你拥有两个仓库A、B(或者一个仓库的两个分支,只要是两个project都适用)时。A此时是develop分支,用于不断提交新的功能。B是release分支,用于提交在develop中稳定的commit(内容会落后于develop分支)。在此类场景下就会经常需要将A中的某个commit单独拉取并合并到B中,想要实现这种功能就需要git cherry-pick命令,以下图为例讲解

a - b - c - d - e - f (分支(仓库)A:develop)
        d - f (分支(仓库)B:release)

当我们在分支A中已经做了很多版的更新后,此时我们只想将A中间的某两个commit同步到分支B中,此时无法直接git pull,该怎么办呢?方法就是cherry-pick!!!,像摘樱桃一样在A的git log中找到某个commit的commitHash,然后使用以下命令,即可进行cherry-pcik操作,从而达到上图只将d、f同步到B分支的效果。

切换到B分支所在的本地工作目录(即project目录)
使用:git cherry-pick <commitHash>

二、什么叫冲突?

分支A:                            分支B:
init.c                             init.c 
L1356: uint32 xxx = 0;             L1356: uint32  IMG = 0; 
 
推荐文章