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

Git - 命令杂谈 - merge、rebase和cherry-pick

记录一些平时常用的Git命令

merge

# 整理差异产生新提交
git merge <br> # 将br分支合并到当前分支
git merge --continue # 解决完冲突后继续合并
git merge --abort # 取消本地合并,回到操作前,没有代码残留
git merge --quit # 终止,有提交和代码残留
# 当<br>完全包含当前分支提交时,当前分支直接指向<br>即可,快读合并

# 其他参数
-ff # 默认使能,对于那些不可能执行快速合并的情况下加不加没有分别
--no-ff # 取消,即使完全包括也会产生一次提交留痕

cherry-pick

# 指定某次提交
git cherry-pick <commitID>
# 后面跟两个提交表示范围(], 左开右闭合;若想实现[]则需要使用commitID^

# 分支的最新提交
git cherry-pick <br>

rebase

# 在目标分支上 cherry-pick 本分支提交
rebase, “移动”目标提交到本分支,遍历本分支提交产生新的提交追加目标提交后
目标未修改, 不做处理
  --no-ff, 不难理解,不使用快速合并。由于目标未修改,所以没有“移动”动作,直接遍历本分支提交产生新的提交追加目标提交后
本分支未修改, 本分支直接指向目标分支
  --no-ff, 不难理解,不使用快速合并。“移动”目标提交到本分支,由于本分支没有提交,则不会产生新的提交,就像是直接指向目标分支一样
git rebase -i HEAD~2
  p, pick <commitID> # 保持不变
  r, reword <commitID> # 保持该提交,但会编辑提交信息
  e, edit <commitID> # 保持该提交,后续使用git commit --amend修改提交内容及信息,然后使用git rebase --continue继续
  s, squash <commitID> # 将本提交合并到上一次提交中,然后编辑提交信息

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

相关文章:

  • Rocky、Almalinux、CentOS、Ubuntu和Debian系统初始化脚本v9版
  • Vue2:组件
  • 软件工程师简历(精选篇)
  • Mysql数据库里的SSH连接
  • 探索Python的HTTP利器:Requests库的神秘面纱
  • 【前端学习指南】Vue computed 计算属性 watch 监听器
  • git修改当前分支名称并推送到远程仓库
  • 【新手友好】用Pyspark和GraphX解析复杂网络数据
  • 【数据分享】中国食品工业年鉴(1984-2023) PDF
  • 确保HTML邮件兼容所有PC和移动设备的样式
  • Vue Canvas实现区域拉框选择
  • Jmeter中的配置原件(五)
  • 微服务电商平台课程四: 搭建本地前端服务
  • WPF学习之路,控件的只读、是否可以、是否可见属性控制
  • 〔 MySQL 〕数据类型
  • 基于HTTP编写ping操作
  • Day44 | 动态规划 :状态机DP 买卖股票的最佳时机IV买卖股票的最佳时机III
  • 【大数据学习 | HBASE高级】rowkey的设计,hbase的预分区和压缩
  • redis 原理篇 31 redis内存回收 内存淘汰策略
  • 【混沌系统】洛伦兹吸引子-Python动画
  • vueRouter路由切换时实现页面子元素动画效果, 左右两侧滑入滑出效果
  • 数据分析编程:SQL,Python or SPL?
  • 机器学习—为什么我们需要激活函数
  • 分享 | 中望3D 2025发布会提及的工业数字化MBD是什么?
  • 本溪与深圳市新零售产业互联协会共商世界酒中国菜湾区农业发展
  • 力扣257:二叉树的所有路径