git cherry-pick使用说明

一,简介

从master分支把提交合并到release分支上的时候选择使用git cherry-pick SHA命令。本文使用demo示例来说明git cherry-pick和git mergetool工具的使用方法。

二,合并提交无冲突的步骤

1,切换到master分支,确认需要提交的commit ID:

Git checkout master

Git log

git cherry-pick使用说明_第1张图片

2,切换到release分支,进行cherry-pick操作

git checkout release

git cherry-pick 4873fc9297f204319a3

git cherry-pick使用说明_第2张图片

如果没有提示冲突表示合并成功,成功之后确认release分支的提交记录:

git cherry-pick使用说明_第3张图片

三,合并提交出现冲突的步骤

在master分支和release分支同时修改相同位置代码,再次将master分支的提交合并到release;

1,切换到master分支,确认需要合并到release分支的comimit ID

git checkout master

git log

git cherry-pick使用说明_第4张图片

 

2,切换到release分支,执行cherry-pick命令

git checkout release

git cherry-pick 9ec3dd135b1566bc

git cherry-pick使用说明_第5张图片

如上图所示:出现冲突,需要解决冲突

3, 使用git mergetool来解决冲突

git cherry-pick使用说明_第6张图片

出现如上图所示,回车,在出现的图形化界面中修改冲突。

git cherry-pick使用说明_第7张图片

修改完成冲突之后,在左下角输入“:xa”退出修改。此时使用git status查看当前状态,main.c中的修改已经提交到暂存区,需要Git commit 提交到本地仓库即可。

git cherry-pick使用说明_第8张图片

最后使用 git log查看合并后的log信息,可以看到master上的第三次提交已经合并到release分支。

git cherry-pick使用说明_第9张图片

四,总结    

本文主要使用master分支和release分支描述了,cherry-pick命令的使用方法,为使用该指令提供参考。

 

你可能感兴趣的:(C/C++,git,github)