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

git的各种HEAD以及使用示例

gitrevisions - git docs
git-rev-parse - git docs中文

HEAD

命名工作区中的更改所基于的提交。
这个很常用了,HEAD为当前分支最新提交,经常用HEAD^HEAD^^^HEAD~n来定位之前的提交。

# 清除工作区和暂存区的所有修改
git reset --hard HEAD
# 恢复到上一个提交
git reset --soft HEAD^

FETCH_HEAD

记录您上次调用 git fetch 时 从远程仓库获取的分支。
git fetch origin master会将FETCH_HEAD设置为origin/master
git pull origin master(默认--no-rebase)相当于

git fetch origin master
git merge FETCH_HEAD

如果是git pull --rebase origin master,相当于

git fetch origin master
git rebase FETCH_HEAD

如果想直接用远程分支覆盖当前分支,则

git fetch origin master
git reset --hard FETCH_HEAD

ORIG_HEAD

命令(git am、git merge、git rebase、git reset)时创建的, 用于记录这些命令执行前HEAD的位置, 以便于将分支的顶端 改回执行这些命令前的状态。
与危险操作有关,可以快速取消危险操作git reset --hard ORIG_HEAD
我最常用的还是撤销一个提交并重做,用于修改上一个commit

git reset --soft HEAD^
# 做一些编辑修改...,把修改add之后,重新提交,用-c ORIG_HEAD参数即可复用之前reset的提交信息
git commit -c ORIG_HEAD

对比git commit --amend和好处是可以把commit的内容先恢复到暂存区,在编辑器中可以看到commit的修改。

其他HEAD

以下HEAD我用得比较少。
MERGE_HEAD
记录您在运行 git merge 时 要合并到分支中的提交。
REBASE_HEAD
会记录当前停止操作的提交, 原因可能是冲突或 交互式变基中的 edit 命令。
REVERT_HEAD
记录您在运行 git revert 时要还原的提交。
CHERRY_PICK_HEAD
会记录您在运行 git cherry-pick 时 要 cherry-pick 的提交。
BISECT_HEAD
记录运行 git bisect --no-checkout 时 要测试的当前提交。
AUTO_MERGE
当合并操作导致冲突时, 记录与 ort 合并策略写入工作树的状态 相对应的树对象。

http://www.jsqmd.com/news/35833/

相关文章:

  • OneDrive上传和下载速度慢?有什么解决办法吗? - 指南
  • 详细介绍:深入浅出MATLAB数据可视化:超越plot()
  • 既然道可道相当道,那么传道授业解惑的根基是什么?
  • P10592 BZOJ4361 isn
  • 阿道夫
  • 软件开发公司常犯的5个设计误区,看看你中招了吗?
  • 使用jmeter做压力测试 - 实践
  • CSP2025游记总结
  • 连续出现的字符
  • 详解WebSocket及其妙用 - 指南
  • 2025 csp_j 游忌
  • 利用序列ID漏洞下载整个公司用户数据库的技术分析
  • 详细介绍:STM32 定时中断逻辑拆解:为什么 “每 2 次中断翻一次 LED”,却是 1 秒亮 1 秒灭?
  • 11.8 NOIP模拟4 改题记录
  • 红外遥控
  • C 指针初识
  • 翻译[9]-让sshfs再次伟大于浏览器中
  • 计算机毕业设计-基于Java的口腔管理平台系统创建实战(附源码+论文+演示视频)
  • 唯识主义:哲学爱智慧本质的当代回归 - 实践
  • 第一届湖南省信息学拔尖创新挑战活动 总结
  • U629961 焦头烂额的日奈委员长 の markdown
  • Java数组——Array类讲解
  • 论文笔记(九十三)ManipulationNet: Benchmarking - 实践
  • flask: 用flask-wtf校验参数
  • hdh
  • 序列密码的线性滤波模型
  • 使用Milvus和DeepSeek构建RAG demo - 实践
  • python里字面量是什么?
  • 圆锥滚子轴承品牌:行业顶尖选择与专业解析
  • 串串重学