git 的 HEAD~ 和 HEAD^ 区别
- 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~
表示 A3HEAD~2
表示 A2HEAD~3
表示 A1
^ 表示第 n 个父母
HEAD^
表示 A3HEAD^2
表示 B3HEAD^3
表示 C3
注意事项
HEAD~
与HEAD~1
等效,HEAD^
与HEAD^1
等效HEAD~3
等效于HEAD~~~
等效于HEAD^^^
都表示 A1HEAD~n
等效于HEAD~...~
(n 次~
) 等效于HEAD^^^
(n 次^
)HEAD^3
与HEAD^^^
不同, 前者表示 C3 (即第 3 个父母), 后者表示 A1
总结:
一般情况下, 使用 HEAD~n
情况即可, 表示前 n 次提交, 而使用 HEAD^n
用于分支合并的情况多
git 的 HEAD~ 和 HEAD^ 区别相关推荐
- Git一电脑配置config多个git用户 一个用于公司工作 一个用于个人学习
区别https与sshkey两种方式:HTTPS需要验证 SSH不需要验证 1前者可以随意克隆github上的项目,而不管是谁的:而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH ...
- 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)
首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...
- 【阶段小结】协同开发——这学期的Git使用小结
[阶段小结]协同开发--这学期的Git使用小结 一.Git简介 1. Git简单介绍 2. Git工作流程以及各个区域 3. Git文件状态变化 二.Git安装&Git基本配置 三.个人踩坑 ...
- Github配置(git+vscode+python+jupyter)
①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...
- git shanchu stash_git stash用法
常用git stash命令: (1)git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不 ...
- 项目中使用 Git 高频场景
1. 拉取最新主干代码,进行功能迭代或 bug 修复 首先切换到主干: git checkout master 然后拉取最新代码: git pull 基于 master 创建本地分支 xxx: git ...
- Git 错误提交后该如何回滚操作
1. Git 架构 Workspace:工作区(当前用户操作修改的区域) Index / Stage:暂存区 (add 后的区域) Repository:仓库区或本地仓库(commit 后的区域) R ...
- Git 最全命令总结都在这里了
1. 基本命令 git diff 不加参数直接输入 git diff : 尚未暂存的文件更新了哪些部分 git diff --staged : 已暂存文件与最后一次提交的文件差异 git diff - ...
- 手把手教你搭建 Git 服务器
https://gitbook.cn/books/5e81adf58d6af944d1f26356/index.html 1. 服务器端安装 Git 切换至 root 账户: su root 看一下服 ...
- Git 常用操作(6)- 推送到远程仓库(git push)删除远程分支(git push origin --delete)
1. git remote add--添加远程仓库 在GitHub 上创建的仓库路径为 "git@github.com:用户名/git-tutorial.git".现在我们用git ...
最新文章
- 自定义国内maven镜像包设置settings.xml
- js动态变量名_scss引入其他scss变量,并通过js动态修改scss变量
- ASP与ASP.NET的区别
- R语言绘制三维散点图
- python表单数据系统_使用MultipartPostHandler用Python发布表单数据
- Matplotlib实例教程(十六)3D直方图
- elasticsearch 自定义routing
- 数组工具类Arrays
- 一段时间就回头看看自己走过的路
- 探索适用于Apache Spark的Spline Data Tracker和可视化工具(第2部分)
- Java 7:复制和移动文件和目录
- python 爬虫 包_python爬虫学习之路-抓包分析
- 技巧:在Silverlight中如何访问外部xap文件中UserControl
- android studio一个页面等待3秒跳转_Flutter 对 iOS、Android(双端开发者)的快速理解(二)
- 基金侧袋机制: 指引与操作规范
- 小米手机文件 ftp服务器,小米手机与电脑FTP连接(不用每一次都输入ftp地址)...
- 漏洞复现永恒之蓝MS-17010+修复
- AI芯片独角兽寒武纪 - 诚聘虚拟化/深度学习框架/系统软件研发工程师
- Python PYQT5中用Label控件显示以numpy表示的灰度图像
- 英语学习单词篇(14)
热门文章
- vue 中v-model和v-decorator的用法区别
- CSDN如何改变图片大小
- 熵减-华为活力之源-笔记
- Linux系统中的权限管理
- Maya 贴图链接检测重链打包插件tjh_lost_textures_finder 1.3.1 更新发布!
- Android Studio去掉图标白边
- rand函数的使用——C语言
- 孩子用什么灯光最养眼?眼科医生推荐这种灯光对眼睛视力保护最好
- 聪明的人脸识别1——Keras 搭建自己的Facenet人脸识别平台
- Linux卸载软件,误将系统libselinux.SO.1文件删除,导致系统命令基本无法使用的尴尬经历-----附解决方案