背景
我们在工作中经常会碰到好几个同事共同在一个分支上开发,一个项目同时会有好几个分支,我们在feature上开发的功能时,有可能某个需求需要提前发布,这个时候我们已经在feature A上开发完成,但是需要在master上发布。这个时候该怎么办呢? 我们是不是可以直接将feature A上的commit 合并到master上,然后一键发布就可以啦? 这个时候可能存在代码冲突。今天我们就带着这个疑问一起解决这个问题。
场景
分支:
- pg-datasource
- mysql-prod-datasource
我们需要将在分支pg-datasource上的7f0bea1b上的这次commitId提交同步到mysql-prod-datasource上。
使用git cherry-pick 7f0bea1b
使用这个命令时我们发现发生了错误,原来是存在冲突。
使用git status 查看状态
这里我们发现这里高速我们有三个有文件存在冲突没有merged。
我们使用git diff,查看具体的冲突
当然我们可以直接到文件中去查看,有冲突的文件是红色标记
我们可以到文件里面将冲突合并。
冲突合并后,将文件添加到提交
添加后,文件就是从红色改变到正常状态。