这些符号指的是什么?它们是什么意思?
(我在官方文档中找不到任何解释)
发布于 2009-06-09 00:05:52
HEAD是对当前提交的(直接或间接,即符号)引用。它是您在工作目录中签入的提交(除非您做了一些更改或等效操作),并且它是一个提交,在此提交之上,"git commit“将创建一个新的提交。通常,HEAD是对其他命名分支的符号引用;此分支当前为检出分支或当前分支。HEAD还可以直接指向提交;这种状态称为“分离头”,可以理解为在未命名的匿名分支上。
从Git1.8.5开始,@本身就是HEAD的捷径
ORIG_HEAD是HEAD的以前状态,由可能具有危险行为的命令设置,以便于恢复它们。现在它不那么有用了,因为Git有reflog:HEAD@{1}大致相当于ORIG_HEAD (HEAD@{1}总是HEAD的最后一个值,ORIG_HEAD是危险操作之前HEAD的最后一个值)。
有关更多信息,请参阅git(1) manpage / and修订版(7)手册页、Git User's Manual、Git Community Book和Git Glossary
发布于 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会记录您正在挑选的提交。
发布于 2009-06-08 13:35:21
我的理解是HEAD指向当前分支,而ORIG_HEAD用于在执行“危险”操作之前存储前一个HEAD。
例如,git-rebase和git-am会在应用任何更改之前记录分支的原始尖端。
https://stackoverflow.com/questions/964876
复制相似问题