Git笔记--git cherry-pick的使用

本文介绍了如何使用 Git 的 cherry-pick 命令将特定提交从一个分支应用到另一个分支,以在不影响其他提交的情况下,单独移植特定改动。详细步骤包括切换到目标分支,然后执行 cherry-pick 命令,以此实现精确的代码迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git cherry-pick(拣选)

 有时在开发时,会遇到想将某一开发分支的某个特定提交,应用到当前要发布的分支上,而不想合并整个分支;这时就可以使用cherry-pick 来实现;

拣选会提取某次提交的补丁,之后尝试将其重新应用到当前分支上。 这种方式在你只想引入特性分支中的某个提交时很有用。

用法 

usage: git cherry-pick [<options>] <commit-ish>...
   or: git cherry-pick <subcommand>

   --quit                end revert or cherry-pick sequence
   --continue            resume revert or cherry-pick sequence
   --abort               cancel revert or cherry-pick sequence
   -n, --no-commit       don't automatically commit
   -e, --edit            edit the commit message
   -s, --signoff         add Signed-off-by:
   -m, --mainline <parent-number>
                          select mainline parent
--rerere-autoupdate   update the index with reused conflict resolution if possible
--strategy <strategy>  merge strategy
-X, --strategy-option <option>  option for merge strategy
-S, --gpg-sign[=<key-id>]  GPG sign commit
-x                    append commit name
--ff                  allow fast-forward
--allow-empty         preserve initially empty commits
--allow-empty-message allow commits with empty messages
--keep-redundant-commits  keep redundant, empty commits

具体应用:

 假设有两个分支dev、test

目前在分支dev上做了个commit(ef2db28ab5b6690c7fc30d76945e8a68efed12b1),而此时test已经落后dev很多;

现在因为项目发布需要,需要将dev上的这个提交单独应用到test上,而同时不合并其他提交;

可进行如下操作实现:

     git checkout test  //首先切换当前分支为test

     git cherry-pick ef2db28ab5b6690c7fc30d76945e8a68efed12b1 //将ef2db28ab5b6690c7fc30d76945e8a68efed12b1提交单独合并至test,并自动commit

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值