【发布时间】:2016-07-19 11:09:13
【问题描述】:
我了解git reset 命令在历史记录中向后移动了一个分支 (*),并且它移动的分支是 HEAD 所指向的分支。
所以我很好奇,我尝试在detached HEAD state 中调用它,看看会发生什么。我期待错误,但 git 做了一些事情,我只是无法弄清楚它做了什么。
在我签出并进入 detached HEAD state 之前,Git 是否表现得像 HEAD 仍然指向它的位置?
[ 编辑 1 ] 我确实想通了。它的作用与一个人不处于分离头部状态时完全相同,只是它不会向后移动任何分支。这只是
[ Edit 2(*) ] git reset 实际上只在指定较旧的提交时在历史记录中向后移动一个分支。在执行git reset HEAD 时,它会将分支留在原来的位置(参见下面的 cmets)。
【问题讨论】:
-
你应该用你运行的确切命令来更新你的问题...... git reset 有三种形式......每种都有参数......最常见的用途是执行 git add 的相反操作。 ..
-
我不确定这是否重要。由于每个版本的 git reset 至少做一件事:它将当前分支移动到不同的位置。而且由于在分离的头脑中没有真正的当前分支,我想知道会发生什么