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

【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记录

之后会有冲突:


http://www.kler.cn/a/576622.html

相关文章:

  • 实现Django和Transformers 构建智能客服大模型(模拟订单系统)
  • 【每日学点HarmonyOS Next知识】双向传值问题、子组件半径、VIdeo标签下载隐藏、字符串替换、路由问题
  • 2025年科技趋势深度解析:从“人工智能+”到量子跃迁的技术革命
  • Qt:多线程
  • 通过Nacos API实现微服务不间断部署
  • Linux中的序列化和反序列化与网络计算器
  • 2025系统架构师(一考就过):案例之五:典型架构、架构演化、人工智能、云计算、大数据
  • 数据库基础练习1
  • 什么是 kafka
  • 无人机应用探索:玻纤增强复合材料的疲劳性能研究
  • GOPATH和Go Modules模式
  • 机器学习常见面试题
  • Kubernetes中的 iptables 规则介绍
  • 一、MySQL备份恢复
  • 【LangChain】Python Web框架推荐
  • 微信小程序引入vant-weapp组件教程
  • 平面机械臂运动学分析
  • echarts中使用geo3d绘制地图添加定位点时给symbol设置图片不显示
  • 深入理解网络通信:从OSI七层模型到TCP/IP协议栈
  • VScode代码格式化插件black失效问题