首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git中的HEAD和ORIG_HEAD

Git中的HEAD和ORIG_HEAD
EN

Stack Overflow用户
提问于 2009-06-08 13:17:19
回答 3查看 113.2K关注 0票数 276

这些符号指的是什么?它们是什么意思?

(我在官方文档中找不到任何解释)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-09 00:05:52

HEAD是对当前提交的(直接或间接,即符号)引用。它是您在工作目录中签入的提交(除非您做了一些更改或等效操作),并且它是一个提交,在此提交之上,"git commit“将创建一个新的提交。通常,HEAD是对其他命名分支的符号引用;此分支当前为检出分支或当前分支。HEAD还可以直接指向提交;这种状态称为“分离头”,可以理解为在未命名的匿名分支上。

从Git1.8.5开始,@本身就是HEAD的捷径

ORIG_HEADHEAD的以前状态,由可能具有危险行为的命令设置,以便于恢复它们。现在它不那么有用了,因为Git有reflog:HEAD@{1}大致相当于ORIG_HEAD (HEAD@{1}总是HEAD的最后一个值,ORIG_HEAD是危险操作之前HEAD的最后一个值)。

有关更多信息,请参阅git(1) manpage / and修订版(7)手册页、Git User's ManualGit Community BookGit Glossary

票数 354
EN

Stack Overflow用户

发布于 2020-02-28 17:32:12

来自man 7 gitrevisions

HEAD命名工作树中的更改所基于的提交。FETCH_HEAD记录了您上次调用git fetch时从远程存储库获取的分支。ORIG_HEAD是由一些命令创建的,这些命令以一种激进的方式移动您的头部,以便在操作之前记录头部的位置,以便您可以轻松地将分支的尖端更改回运行它们之前的状态。当您运行git merge时,MERGE_HEAD会记录您要合并到分支中的提交。当您运行git cherry-pick时,CHERRY_PICK_HEAD会记录您正在挑选的提交。

票数 3
EN

Stack Overflow用户

发布于 2009-06-08 13:35:21

我的理解是HEAD指向当前分支,而ORIG_HEAD用于在执行“危险”操作之前存储前一个HEAD。

例如,git-rebase和git-am会在应用任何更改之前记录分支的原始尖端。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/964876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档