当前位置: 首页 > news >正文

【hello git】git rebase、git merge、git stash、git cherry-pick

目录

一、git merge:保留了原有分支的提交结构

二、git rebase:提交分支更加整洁

三、git stash

          四、git cherry-pick


共同点:将 一个分支的提交 合并到 到另一个上分支上去

一、git merge:保留了原有分支的提交结构

现有一个模型如上所示:master 分支有1 2 3 5 7节点, develop 分支有4 6节点;

在 master 分支上执行 git merge 分支名  

含义:将 develop 上的分支提交合并到 master 上,合并的时候是基于3 7 6节点合并,生成最新的提交记录 ——> 8节点;

二、git rebase:提交分支更加整洁

git rebase origin/分支名

一般:
git rebase origin/master

三、git stash

git stash:将工作区中已经保存的 和 暂存区的代码进行压栈保存;

使用场景:

场景一:在分支 A 上正在工作,分支 B 上有个 bug 要处理;

git stash            // 在分支 A 上执行该操作,将分支A上的修改代码进行保存
git checkout B       // 切到分支 B,并处理 B 分支上的 bug
git checkout A       // 切回到分支 A
git stash pop        // 将 A 分支之前保存的修改代码进行恢复操作

场景二:冲突:代码开发完了准备提交,在 commit 之前,建议拉一下远端的代码;

git stash                 // 将本地修改代码进行保存
git pull                  // 拉取远端代码
git stash pop             // 将保存的代码弹出
本地处理可能出现的冲突
git commit                // 提交操作
git push

实例演示:

四、git cherry-pick

将一个分支的提交记录,合并到另外一个分支;

git cherry-pick commitid                   // 提交一个commit记录
git cherry-pick commitid1 commitid2        // 提交多个commit记录
git cherry-pick commitid1..commitid2       // 提交多个连续commit记录
git cherry-pick commitid1^..commitid2      // 提交多个连续commit记录,不包含commitid1记录

之后会有冲突:

相关文章:

  • python从入门到精通(二十一):python爬虫实现登录功能
  • Manus AI Agent 技术解读:架构、机制与竞品对比
  • 八点八数字科技:开启数字人应用的无限可能
  • springboot-bug
  • PyQt学习记录04——通过提升法绘制matplot图形
  • Apache XTable:在数据湖仓一体中推进数据互作性
  • Unity场景制作
  • stm32 基于蓝桥物联网赛 oled屏使用
  • Windows 版本Nmap使用报错“无法打开device eth0”
  • GET3D:从图像中学习的高质量3D纹理形状的生成模型
  • 在 k8s中查看最大 CPU 和内存的极限
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之功能优化,添加表格空状态提示,带插图的空状态,Table7空状态2
  • 《量子Java:从超导芯片到光子计算的编程革命》——解析Google量子AI中心的混合架构,揭秘如何用Java控制量子比特!
  • 0.大模型开发知识点需求综述
  • C++文档识别接口如何实现 高效办公
  • Vim复制内容到系统剪切板
  • C++Primer学习(5.4和5.5 迭代语句和跳转语句)
  • 深入解析 dig 命令:DNS 查询与故障排除利器
  • MySQL------存储引擎和用户和授权
  • 【javaEE】多线程(基础)
  • 有什么网站做头像/最新seo教程
  • 网站建设 中企动力/企业如何建站
  • 江苏优化网站公司/搜索引擎优化排名工具
  • 长沙正规企业网站制作平台/搜索引擎营销的模式有哪些
  • 孟村县做网站/昆明自动seo
  • 河北省建设局材料备案网站/关键词seo价格