• HEAD~ 表示祖先
  • HEAD^ 表示父母 (涉及分支合并)

举例 A B C 三个分支

  • A: A1, A2, A3
  • B: B1, B2, B3
  • C: C1, C3, C3

当前在分支 A 上, 合并 B C 这两个分支

git merge B C

当前提交一共有 3 个父母

~ 表示第 1 个分支的第 n 个祖先

  • HEAD~ 表示 A3
  • HEAD~2 表示 A2
  • HEAD~3 表示 A1

^ 表示第 n 个父母

  • HEAD^ 表示 A3
  • HEAD^2 表示 B3
  • HEAD^3 表示 C3

注意事项

  • HEAD~HEAD~1 等效, HEAD^HEAD^1 等效
  • HEAD~3 等效于 HEAD~~~ 等效于 HEAD^^^ 都表示 A1
  • HEAD~n 等效于 HEAD~...~ (n 次 ~) 等效于 HEAD^^^ (n 次 ^)
  • HEAD^3HEAD^^^ 不同, 前者表示 C3 (即第 3 个父母), 后者表示 A1

总结:
一般情况下, 使用 HEAD~n 情况即可, 表示前 n 次提交, 而使用 HEAD^n 用于分支合并的情况多

git 的 HEAD~ 和 HEAD^ 区别相关推荐

  1. Git一电脑配置config多个git用户 一个用于公司工作 一个用于个人学习

    区别https与sshkey两种方式:HTTPS需要验证 SSH不需要验证 1前者可以随意克隆github上的项目,而不管是谁的:而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH ...

  2. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  3. 【阶段小结】协同开发——这学期的Git使用小结

    [阶段小结]协同开发--这学期的Git使用小结 一.Git简介 1. Git简单介绍 2. Git工作流程以及各个区域 3. Git文件状态变化 二.Git安装&Git基本配置 三.个人踩坑 ...

  4. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  5. git shanchu stash_git stash用法

    常用git stash命令: (1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不 ...

  6. 项目中使用 Git 高频场景

    1. 拉取最新主干代码,进行功能迭代或 bug 修复 首先切换到主干: git checkout master 然后拉取最新代码: git pull 基于 master 创建本地分支 xxx: git ...

  7. Git 错误提交后该如何回滚操作

    1. Git 架构 Workspace:工作区(当前用户操作修改的区域) Index / Stage:暂存区 (add 后的区域) Repository:仓库区或本地仓库(commit 后的区域) R ...

  8. Git 最全命令总结都在这里了

    1. 基本命令 git diff 不加参数直接输入 git diff : 尚未暂存的文件更新了哪些部分 git diff --staged : 已暂存文件与最后一次提交的文件差异 git diff - ...

  9. 手把手教你搭建 Git 服务器

    https://gitbook.cn/books/5e81adf58d6af944d1f26356/index.html 1. 服务器端安装 Git 切换至 root 账户: su root 看一下服 ...

  10. Git 常用操作(6)- 推送到远程仓库(git push)删除远程分支(git push origin --delete)

    1. git remote add--添加远程仓库 在GitHub 上创建的仓库路径为 "git@github.com:用户名/git-tutorial.git".现在我们用git ...

最新文章

  1. 自定义国内maven镜像包设置settings.xml
  2. js动态变量名_scss引入其他scss变量,并通过js动态修改scss变量
  3. ASP与ASP.NET的区别
  4. R语言绘制三维散点图
  5. python表单数据系统_使用MultipartPostHandler用Python发布表单数据
  6. Matplotlib实例教程(十六)3D直方图
  7. elasticsearch 自定义routing
  8. 数组工具类Arrays
  9. 一段时间就回头看看自己走过的路
  10. 探索适用于Apache Spark的Spline Data Tracker和可视化工具(第2部分)
  11. Java 7:复制和移动文件和目录
  12. python 爬虫 包_python爬虫学习之路-抓包分析
  13. 技巧:在Silverlight中如何访问外部xap文件中UserControl
  14. android studio一个页面等待3秒跳转_Flutter 对 iOS、Android(双端开发者)的快速理解(二)
  15. 基金侧袋机制: 指引与操作规范
  16. 小米手机文件 ftp服务器,小米手机与电脑FTP连接(不用每一次都输入ftp地址)...
  17. 漏洞复现永恒之蓝MS-17010+修复
  18. AI芯片独角兽寒武纪 - 诚聘虚拟化/深度学习框架/系统软件研发工程师
  19. Python PYQT5中用Label控件显示以numpy表示的灰度图像
  20. 英语学习单词篇(14)

热门文章

  1. vue 中v-model和v-decorator的用法区别
  2. CSDN如何改变图片大小
  3. 熵减-华为活力之源-笔记
  4. Linux系统中的权限管理
  5. Maya 贴图链接检测重链打包插件tjh_lost_textures_finder 1.3.1 更新发布!
  6. Android Studio去掉图标白边
  7. rand函数的使用——C语言
  8. 孩子用什么灯光最养眼?眼科医生推荐这种灯光对眼睛视力保护最好
  9. 聪明的人脸识别1——Keras 搭建自己的Facenet人脸识别平台
  10. Linux卸载软件,误将系统libselinux.SO.1文件删除,导致系统命令基本无法使用的尴尬经历-----附解决方案