Git 的 Cherry-Pick

这篇具有很好参考价值的文章主要介绍了Git 的 Cherry-Pick。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、什么是 Cherry-Pick

cherry-pick 是 Git 版本控制工具中的一个命令,和 commit 、pull 一样,它只是一个命令。

cherry-pick 和它的名称一样,精心挑选,挑选一个我们需要的 commit 进行操作。它可以用于将在其他分支上的 commit 修改,移植到当前的分支。

一个很常见的场景,就是想在某个稳定版本上,添加一个刚开发完成的版本中的功能。就可以使用 Cherry-pick 命令,将这个功能相关的 commit 提取出来,合入稳定版本的分支上。

2、如何使用 Cherry-Pick

Cherry-Pick 使用起来非常的简单:

git cherry-pick <commit-id>

这里操作的就是需要 cherry-pick 的 commit-id ,一般使用 Git 管理工具什么的,都可以很方便的查看到,否者的话,可以使用 git log 命令,查找我们需要的 commit-id。

当执行完 cherry-pick 之后,将会自动生成一个新的 commit 进行提交,也就是会有一个新的 commit ID。

如果顺利的话,就可以正常提交了。如果遇到冲突,使用 git diff 解决冲突即可,工作中,不推荐手工解决冲突,最好还是使用一些 diff 工具来处理,毕竟手工处理容易出错。

3、Cherry-Pick 的高级用法

前面介绍的最简单的 git cherry-pick 只是最简单也是最常用的方法,正常来说,我们直接使用最简单的命令就可以了,如果 commit 多了,无非就是多重复执行几次而已,但是 cherry-pick 还有一些高级点的用法,这里了解一下。

git cherry-pick -x <commit_id>

增加 -x 参数,表示保留原提交的作者信息进行提交。

在 Git 1.7.2 版本开始,新增了支持批量 cherry-pick ,就是可以一次将一个连续的时间序列内的 commit ,设定一个开始和结束的 commit ,进行 cherry-pick 操作。

git cherry_pick <start-commit-id>…<end-commit-id>

可以看到,它的范围就是 start-commit-id 到 end-commit-id 之间所有的 commit,但是它这是一个 (左开,右闭] 的区间,也就是说,它将不会包含 start-commit-id 的 commit。

而如果想要包含 start-commit-id 的话,就需要使用 ^ 标记一下,就会变成一个 [左闭,右闭] 的区间,具体命令如下。

git cherry-pick <start-commit-id>^...<end-commit-id>

举个例子来说明一下:

Git 的 Cherry-Pick

使用 git log —pretty=oneline 来查看当前分支最近的提交,注意 git 命令中,对于 commit-id 的操作,都只需要使用前五位就可以了。

git cherry-pick 371c2…971209 // (2,5]
git cherry-pick 371c2^…971209 // [2,5]

3、注意事项

无论是对单个 commit 进行 cherry-pick ,还是批量处理,注意一定要根据时间线,依照 commit 的先后顺序来处理,否者会有意想不到的问题。文章来源地址https://www.toymoban.com/news/detail-445304.html

到了这里,关于Git 的 Cherry-Pick的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git cherry-pick详解

    此文在阅读前需要有一定的git命令基础,若基础尚未掌握,建议先阅读这篇文章Git命令播报详版 对于多分支的代码库,将代码从一个分支引入到另一个分支是常见需求。 这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并( git merge )。另一种

    2024年02月12日
    浏览(66)
  • git cherry-pick 用法

    说明:本人基于 master 新建分支 master-fxd,那么目标分支为 master-fxd 说明,其他分支例如 dev 提交的代码,使用 jihulab.com 比较 master-fxd 和 dev 分支,下图右侧复制单个提交 id

    2024年02月12日
    浏览(56)
  • git cherry-pick 的使用

            cherry-pick 精心挑选的意思,即可以从一个分支上挑选一个(或多个)修改,提交到当前分支上,不过 cherry-pick 只能是本地操作,即源分支上必须有的commit 才能 cherry-pick。遇到的情况可能是,源分支远程已经有提交了,但在本地的源分支并没有更新到最新,此时 che

    2024年02月16日
    浏览(50)
  • 【GIT】cherry-pick 基本使用

    当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上,这时候就需要用到cherry-pick操作。 git cherry-pick 简单理解为挑选分支的意思,挑选什么分支呢?就是我们在自己的功能分支上每次的commit提交记录(分

    2024年02月08日
    浏览(57)
  • Git常用命令cherry-pick

    将指定的提交应用于其他分支,可以用于恢复不小心撤销(revert/reset)的提交。 对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。 这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并 git merge 。另一种情 况是,你只需要

    2024年02月14日
    浏览(58)
  • git 常用命令 Cherry-pick

    [Ref] git cherry-pick 教程 Further Reading : Git常用命令汇总

    2024年02月08日
    浏览(49)
  • Git cherry-pick命令详解

    个人中心 DownLoad Git中的 cherry-pick 命令用于选择一个提交并将其应用到当前分支上,而不必合并整个分支。这在需要在不影响其他代码的情况下将单个提交应用到其他分支时非常有用。以下是cherry-pick命令的详细介绍。 复制代码 git cherry-pick commit-hash commit-hash :要应用的提交的

    2024年02月08日
    浏览(51)
  • git cherry-pick命令用法详解

            想在某个稳定版本上,添加一个刚开发完成的版本中的功能。就可以使用 Cherry-pick 命令,将这个功能相关的 commit 提取出来,合入稳定版本的分支上。         对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。 通常开发时分两种情况:

    2024年01月25日
    浏览(46)
  • Git:不同仓库之间的cherry-pick

    一、操作步骤 添加远程仓库到本地 拉取该远程仓库的指定分支 运行cherry-pick命令 push到远程

    2024年02月13日
    浏览(46)
  • Git Cherry-pick:选择性合并 Git 提交

    在 Git 中,有时候我们需要从一个分支中选择性地合并一个或多个提交到当前分支。Git 提供了一个称为 cherry-pick 的命令来执行这个操作。 cherry-pick 命令可以在一个分支上选择性地应用另一个分支或提交中的一个或多个提交。这对于合并单独的 bug 修复或其他小型改动非常有用

    2024年02月11日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包