【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七)

这篇具有很好参考价值的文章主要介绍了【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide

  • 💌 所属专栏:【Git】

  • 😀 作  者:我是夜阑的狗🐶

  • 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!

  • 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide


前言

  大家好,又见面了,我是夜阑的狗🐶,本文是专栏【Git】专栏的第十七篇文章;
  这是今天学习到Git 高级篇 – 本地栈式提交 💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。
  专栏地址:【Git】 , 此专栏是我是夜阑的狗对Git,Gitee等工具使用过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、本地栈式提交

  这里给大家推荐一个好用的 Git在线练习地址。在这练习网站里面也有自己的教程,就让我们一步一步跟着教程学习吧,记录下自己的所感所悟。前面已经简单的讲解了整理提交记录的用法,在实际开发过程中有时候提交会把一些调试语句也会上传上去,这让我们很困扰,接下来就让我们看看怎么解决。话不多说,让我们原文再续,书接上回吧。

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide

1、介绍

  在开发实际过程中中经常会遇到的情况:我正在解决某个特别棘手的 Bug,为了便于调试而在代码中添加了一些调试命令并向控制台打印了一些信息。
  这些调试和打印语句都在它们各自的提交记录里。最后我终于找到了造成这个 Bug 的根本原因,解决掉以后觉得沾沾自喜!
  最后就差把 bugFix 分支里的工作合并回 main 分支了。你可以选择通过 fast-forward 快速合并到 main 分支上,但这样的话 main 分支就会包含我这些调试语句了。你肯定不想这样,应该还有更好的方式。
  实际我们只要让 Git 复制解决问题的那一个提交记录就可以了。跟之前我们在“整理提交记录”中学到的一样,我们可以使用以下两个命令来达到目的。

  • git rebase -i
  • git cherry-pick

  由于我们刚刚闯过类似的关卡,所以要不要再尝试一次就看你自己了。但是如果你想试一把的话,确保 main 分支能得到 bugFix 分支上的相关提交。

2、示范

(1)git rebase -i

  交互式 rebase 指的是使用带参数 --interactiverebase 命令, 简写为 -i
  如果你在命令后增加了这个选项, Git 会打开一个 UI 界面并列出将要被复制到目标分支的备选提交记录,它还会显示每个提交记录的哈希值和提交说明,提交说明有助于你理解这个提交进行了哪些更改。

git rebase -i HEAD~4
(2)git cherry-pick

  该指令是用于选择一个或多个提交(commit)并将其应用到当前分支的指令。

git cherry-pick <commit>...

  其中,<commit> 表示要选择的提交的哈希值或引用。

3、实战

  从前面了解到具体的实现的步骤,就可以开始实战啦。这里先给大家说一下这个练习网站的一些使用技巧,

  • help 指令

  执行这个命令后就会有个帮助信息的弹窗。
【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide

  • levels 指令

  执行完这个命令之后就能看到关卡目录了。

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide

  • 目标

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide

  • 开始结构

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide

(1)第一种方法:rebase
  • Step 1、交互式的 rebase

  从目标可以知道,由于 main 分支只要 bugFix 提交,其他提交不想合并进去,就可以使用 rebase 将需要提交合并到 main 分支中;rebase 使用可以以下三种方式进行实现:

    • 分支名
git rebase -i main
    • HEAD指针偏移
git rebase -i HEAD~3
    • 哈希值
git rebase -i C1

  通过交互界面,把 bugFix 分支里 C2,C3 进行删除;运行结果如下图所示:

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide

  • Step 2、合并 main

  通过 rebase 命令将 bugFix 分支合并到 main 中,从而达到更新 main 分支的作用;

git rebase bugFix main

  运行结果如下图所示:

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide

(2)第二种方法:cherry-pick
  • Step 1、选择分支
git checkout main
  • Step 2、cherry-pick
git cherry-pick C4

  这里发现 bugFix 分支不变,main 分支满足需求也是一样能通关的,但这里有个问题怎么样才能将 bugFix 合并在一起呢?本人用 git rebase bugFix main 进行合并,但也会把 C2,C3也会一起合并进去,这样就达不到我们想要的结果,这个问题就留给各位大佬解决啦。😀

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide

  达成目标之后就会有成功的提示。

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide


总结

  感谢观看,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹

【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七),Git,# Git高级篇,windows,git,笔记,ide

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。🎉

更多专栏订阅:

  • 😀 【LeetCode题解(持续更新中)】
  • 🌼 【鸿蒙系统】
  • 👑 【Python脚本笔记】
  • 🚝 【Java Web项目构建过程】
  • 💛 【微信小程序开发教程】
  • 【JavaScript随手笔记】
  • 🤩 【大数据学习笔记(华为云)】
  • 🦄 【程序错误解决方法(建议收藏)】
  • 🚀 【软件安装教程】



订阅更多,你们将会看到更多的优质内容!!文章来源地址https://www.toymoban.com/news/detail-848492.html

到了这里,关于【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【随笔】Git 高级篇 -- 提交的技巧(上) rebase & commit --amend(十八)

    💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘 您的点赞、关注、收藏、评论,是对我最大

    2024年04月22日
    浏览(44)
  • 【随笔】Git -- 解决提交时本地与目标分支不一致导致提交失败 stash & pull --rebase(三)

    💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘 您的点赞、关注、收藏、评论,是对我最大

    2024年04月27日
    浏览(55)
  • git merge rebase cherry-pick分别什么时候用?一文解惑

    =========== 1.使用 将分支切换到 master 上去:git checkout master 将分支 feature 合并到当前分支(即 master 分支)上:git merge feature 2.特点 只处理一次冲突 引入了一次合并的历史记录,合并后的所有 commit 会按照提交时间从旧到新排列 所有的过程信息更多,可能会提高之后查找问题的

    2024年03月26日
    浏览(57)
  • git合并代码命令 分支合并代码 cherry-pick merge rebase区别

    1.cherry-pick 需要注意 暂存未提交的更改 暂存更改: 使用git stash或git stash push命令暂存当前工作目录和暂存区的更改。你可以提供一个消息作为参数,以便更容易地识别stash项: 执行cherry-pick: 现在,你的工作目录是干净的,可以安全地执行cherry-pick操作了。找到你想要cherry

    2024年04月12日
    浏览(49)
  • Git Cherry-pick:选择性合并 Git 提交

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

    2024年02月11日
    浏览(52)
  • git cherry-pick命令(合并单个或多个提交记录到当前分支)

    Git cherr-pick:选择性合并提交 在项目中,我们常常需要选择性的把某个提交或某些提交单独的合并到当前分支,Git 提供了一个称为 cherry-pick 的命令来执行这个操作。 1、要在当前分支上合并某个提交,可以使用以下命令: git cherry-pick commit-hash 其中, 是要合并的提交的哈希值

    2024年02月04日
    浏览(64)
  • Cherry-Pick、Squash Commits、Rebase使用

    在Git多分支开发场景下,常常会遇到把a分支的提交记录代码复制到b分支,将多次提交记录合并成一个提交等问题,以下将介绍使用IDEA如何快速的实现这些功能。 cherry-pick的意思是挑选,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。使用场景就

    2024年02月15日
    浏览(38)
  • git中cherry-pick报错是一个合并提交但未提供-m选项的解决方法

    在 new_feature 分支上,想 cherry-pick 一下另一个分支上的提交,不想发生如下错误: 在原始的命令后面加上 -m 1 即可:

    2024年02月15日
    浏览(45)
  • 【随笔】Git 高级篇 -- 推送主分支 git rebase & git fetch(三十三)

    💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘 您的点赞、关注、收藏、评论,是对我最大

    2024年04月23日
    浏览(47)
  • gitlab建立新分支提交,cherry-pick部分更新

    GitLab 是一个基于 Git 的在线代码托管和协作平台,提供源代码管理、单元测试、 CI/CD 构建、代码审查等功能。它是一个开放源代码的 Git 仓库管理系统,使用 Ruby on Rails 构建 GitLab 不仅具有自己的 Git 仓库管理系统,还具有很多其他的功能,如审计日志、代码合并、 CI/CD 流水

    2024年01月17日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包