IDEA中如何实现git的cherry-pick可视化操作?

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

目录

问题现象:

问题分析:

解决方法:

拓展:如何回退提交记录?


问题现象:

        今天在学习了git的cherry-pick功能,于是引出了一个问题:

        IDEA中如何实现git的cherry-pick可视化操作?


问题分析:

        首先,来了解一下 git 的 cherry-pick 功能是什么?

        1、先说说命令格式:

        git cherry-pick commit记录的id标识

        2、再说功能:

        git cherry-pick:用于把某一个代码分支的commit修改合并到当前的代码分支。

        乍一看,发现和merge有点类似,区别就在于:

        merge:是把某一个代码分支完全合并到当前的代码分支。完全合并的意思就是合并之后,当前分支与被合并的分支的所有文件都是保持完全一致的

        cherry-pick:可以精确地将某一个分支上的某一次commit提交操作的改动,合并到当前代码分支,即合并之后,当前分支与被合并的分支被commit操作改动的文件是保持完全一致的,但其他文件就不一定了。

        3、最后说说好处:

        3.1、当被合并分支存在多个commit提交记录,有时候并不是所有的commit提交记录,都是当前分支所需要的,因此我们可以根据commit提交记录来合并我们实际所需要的即可,这是merge做不到的。

        3.2、以commit记录为单位的合并,可以让当前分支的合并信息更加清晰详细,cherry-pick会默认把commit记录带入合并操作中,可以清晰地知道当前分支中做了什么操作,保证了当前分支和被合并分支的commit记录一致性。而merge则是一次性合并,无法写日志,也无法根据commit记录来清晰地知道当前分支被改动了什么内容,只能通过查看合并记录所影响的文件或被合并分支的commit记录,这样有一定的缺陷。

        不过这也是见仁见智的,因为merge的完全合并确实是省时省力,而cherry-pick则是追求颗粒度。因此 cherry-pick 适用于被合并分支的commit记录较少的时候,例如:
        测试人员会根据每个bug进行问题记录和派发,开发者在收到问题记录后,就需要针对各个bug进行问题消缺,每解决一个bug就commit一次,然后就可以根据下次测试计划中需要验证的bug来对commit记录进行一一cherry-pick。


解决方法:

        1、先保证IDEA底部菜单栏中有 Version Control 项;如果没有可以尝试通过以下2个方法来调出:

        1.1:按快捷键 alt+F9

        1.2:点击顶部菜单栏中的 View - Tool Windows - Version Control

cherry-pick图形化操作,Git代码仓库,IDEA,git

        2、点击底部菜单栏 Version Control - Log ,右下角可以看到我当前分支是(develop),之前我已经提交了几个记录在分支(task/111-001-测试git的stash功能),如图:

cherry-pick图形化操作,Git代码仓库,IDEA,git

        3、选中想要合并的commit记录,右击 - Cherry-Pick :

cherry-pick图形化操作,Git代码仓库,IDEA,git

        弹出窗口后,左边选中本次commit记录所改动的所有文件,右边点击Accept Theirs:

cherry-pick图形化操作,Git代码仓库,IDEA,git

        弹出窗口,可以看到被合并分支的commit记录的日志也被获取过来了,点击Commit and Push:

cherry-pick图形化操作,Git代码仓库,IDEA,git

        弹出提示窗口,大概意思就是说正在解析本次commit合并的代码,右下角可以看到有2 processes running...的字样,这里直接忽略即可,点击Commit:

cherry-pick图形化操作,Git代码仓库,IDEA,git

         commit&push成功:

cherry-pick图形化操作,Git代码仓库,IDEA,git

         至此就实现了IDEA中git的cherry-pick可视化操作?


拓展:如何回退提交记录?

        因为有时候我们误操作了,或者合并错了等等情况,所以这里再提一下如何回滚/回退已提交的记录:

        1、首先要保证commit记录是当前分支的,因为在其他分支的提交记录上操作是无效的:

cherry-pick图形化操作,Git代码仓库,IDEA,git

        2、选中想要回退的commit记录,右击 - Resert

cherry-pick图形化操作,Git代码仓库,IDEA,git

        弹窗commit窗口,这里可以Commit一次,用于记录本次回退操作;也直接关闭或Cancel掉,

 这样就不会记录本次回退操作,这个看实际情况而定吧,反正不管是否提交,都会回退成功

cherry-pick图形化操作,Git代码仓库,IDEA,git

        要是你又误操作了,发现不该回退,或者回退的不该是当前的commit记录,则可以对之前cherry-pick 合并成功之后的commit记录上进行cherry-pick即可,该操作不需要再次commit记录日志,所以非常方便:

cherry-pick图形化操作,Git代码仓库,IDEA,git

         另一种回退操作,Reset Current Branch to Here ,这种是可以把当前分支回滚到历史commit记录中的某个状态:

cherry-pick图形化操作,Git代码仓库,IDEA,git

        弹出窗口,这里我选择了Keep,意思是回退之后,保持当前分支的改动,例如(我现在先创建了一个新文件,之后再点击回退,则回退之后,这个新的文件依然存在,而不会丢失)。

cherry-pick图形化操作,Git代码仓库,IDEA,git文章来源地址https://www.toymoban.com/news/detail-614081.html

到了这里,关于IDEA中如何实现git的cherry-pick可视化操作?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • git cherry-pick 用法

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

    2024年02月12日
    浏览(43)
  • Git Cherry-pick使用

    无论项目大小,当你和一群程序员一起工作时,处理多个 Git 分支之间的变更都会变得很困难。有时,与其把整个 Git 分支合并到另一个分支,不如选择并移动几个特定的提交。这个过程被称为 \\\"挑拣\\\", 即 Cherry-pick。 本文将介绍 \\\"Cherry-pick\\\" 的内容、原因和方法。 让我们开始吧

    2024年02月13日
    浏览(36)
  • Git 的 Cherry-Pick

    cherry-pick 是 Git 版本控制工具中的一个命令,和 commit 、pull 一样,它只是一个命令。 cherry-pick 和它的名称一样,精心挑选,挑选一个我们需要的 commit 进行操作。它可以用于将在其他分支上的 commit 修改,移植到当前的分支。 一个很常见的场景,就是想在某个稳定版本上,添

    2024年02月04日
    浏览(33)
  • Git cherry-pick详解

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

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

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

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

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

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

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

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

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

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

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

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

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

    2024年01月25日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包