git的cherry-pick,使用SourceTree遴选

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

需求:目前有一个开发分支dev,然后要在dev分支的基础上,检出两个新的分支,做为发版分支,这个分支的功能完全一样,只有logo,title,项目的配置信息不同。怎么在dev分支上开发了新的功能之后,合并到这两个发版分支,并不覆盖这两个分支中的项目配置信息。
步骤过程如下:

  1. 首先新建了一个git仓库
  2. 添加文件 a.js
    console.log('a');
    提交记录:添加a文件
  3. 在该提交记录的基础上检出新分支 【dev】
  4. 添加文件 b.js
    console.log('b');
    提交记录:添加b文件
  5. 在 a.js文件中添加内容如:
    console.log('a');
    console.log('new_a');
    
  6. 在此基础上检出新分支 【new_a】
  7. 然后重新切换到【dev】分支,并修改a文件
    console.log('a');
    console.log('new_a');
    console.log('new_b');
    
  8. 在此基础上检出新分支 【new_b]
  9. 此时
    【new_a]分支下的a文件的内容如下:
    console.log('a');
    console.log('new_a');
    
    【new_b】分支下的a文件的内容如下:
    console.log('a');
    console.log('new_a');
    console.log('new_b');
    
    【dev】分支下的a文件的内容如下:
    console.log('a');
    console.log('new_a');
    console.log('new_b');
    

需求:此时,我想在【dev】分支上新开发功能,然后只将改动的新功能分别合并到【new_a】分支 和 【new_b】分支。

  1. 如果此时,我在【dev】分支上开发了新的功能,如新建 c.js 文件console.log('c');提交记录:添加c文件

  2. 然后分别合并到【new_a】分支【new_b】分支,此时,虽然新开发的功能 c 文件合并过来了,但是【new_a】分支中的 a 文件就会被覆盖。

    a文件内容变化如下:
    【dev】分支 合并 marge 到【new_a】分支之前:

    console.log('a');
    console.log('new_a');
    

    【dev】分支合并 marge 到 【new_a】分支之后:a文件内容

    console.log('a');
    console.log('new_a');
    console.log('new_b');
    

    这样,就不符合我的需求。我只想将记录:提交c文件,这个更改到【new_a】分支和【new_b】分支。

  3. 这个时候,就要用到 遴选 这个功能。而不是直接采用 合并
    SourceTree中的操作如下:
    在【new_a】分支下,选中该条要遴选的这条提交记录(该条记录是在【dev】分支上提交的记录),如步骤10
    sourcetree 遴选,git,javascript,开发语言
    然后鼠标右击,点击遴选。
    sourcetree 遴选,git,javascript,开发语言
    然后点击确定。

  4. 此时,【new_a】分支上就有了刚刚【dev】分支的提交记录,而不会覆盖 a 文件的内容,此时,a文件的内容为:

    console.log('a');
    console.log('new_a');
    

多个提交记录cherry-pick
git cherry-pick <commit-id>
使用命令git log查看commit-id
一次可以将一个连续的时间序列内的commit,设定一个开始和技术的commit,进行cherry-pick操作
git cherry-pick <start-commit-id>...<end-commit-id>
这样就可以将start-commit-id到end-commit-id之间所有的commit都遴选提交了,但这个是左开右闭的区间,不包含开始的提交id,要想包含使用git cherry-pcik <start-commit-id>^...<end-commid-id>使用^标记一下。
使用git log —pretty=oneline来查看当前分支最近的提交,注意,git命令中,对于commit-id的操作,都只需要使用前五位就可以了。
git cherry-pick c3d25^...9f19f
sourcetree 遴选,git,javascript,开发语言文章来源地址https://www.toymoban.com/news/detail-769874.html

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

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

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

相关文章

  • 【Git】Git cherry-pick

    1.指令效果与基本用法 在 Git 的文档中,对于 cherry-pick 指令的描述如下: git cherry-pick 命令用来获得在单个提交中引入的变更,然后尝试将作为一个新的提交引入到你当前分支上。 从一个分支单独一个或者两个提交而不是合并整个分支的所有变更是非常有用的。 该命令的基本

    2024年02月09日
    浏览(54)
  • Git 的 Cherry-Pick

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2024年02月11日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包