git cherry-pick

Posted 小兵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git cherry-pick相关的知识,希望对你有一定的参考价值。

git cherry-pick

使用场景:

本地有多个分支,local_branch_A, local_branch_B, ...

在本地分支上local_branch_A 上做了 commit,想在此提交到 local_branch_B 上,

这时,如果你不怕出错,不嫌麻烦,当然可以在local_branch_B上把上次提交的代码在重写一遍提交。

但是git提供了更好的解决办法:git cherry-pick <commit_id>

具体操作过程:

首先是在local_branch_A上做了提交,有了提交_id,

然后通过git log 查询到提交的id 病记录下来,

然后切换到 local_branch_B上,

使用 git cherry-pick <commit_id> 

命令执行完查看一下状态,

这事如果没有问题,没有冲突,就等于是已经在loca_branch_B上执行了commit,

这时在local_branch_B上就可以直接push了。

代码示例:

假设现在在 local_branch_A 上,

git branch -vv

git status

git add <some_file>

git commit -m "comments"

git log

<commit_id>  //得到commit_id并记录

git checkout <local_branch_B>

git branch -vv

git status

git cherry-pick <commit_id>

如果没有冲突,就是已经做了commit。

如果有冲突, 需要先解决冲突,可以手动merge,也可以使用mergetool

解决完冲突后,在执行

git add <merged_file>

git commit -m "comments, use cherry-pcik produce some conflicts, merge some file"

 

全部执行完毕就可以 push了。

 

 

以上是关于git cherry-pick的主要内容,如果未能解决你的问题,请参考以下文章

DRV_01_Input子系统框架详解

DRV_02_编写input_dev驱动框架

git 跨平台换行符处理

Python 中的 Git Commit-Msg。收到 EOF 错误

DRV_07_UInput分析_用户态创建input_dev

Windows上的Git 2.13条件配置