git回滚和git分离头指针

git log
查看提交记录
 
git reset –hard 记录ID
 
回滚到某一提交记录
 
 

分离头指针(detached HEAD)

 
detached HEAD

通常,我们工作在某一个分支上,比如 master 分支。这个时候 master 指针和 HEAD 指针是一起前进的,每做一次提交,这两个指针就会一起向前挪一步。但是在某种情况下(例如 checkout 了某个具体的 commit),master 指针 和 HEAD 指针这种「绑定」的状态就被打破了,变成了分离头指针状态。我那天遇到的情况是,master 和 HEAD 指针看上去指在同一个 commit 上,但其实已经处在分离头指针状态。当我在此时又做了一次新的提交时,HEAD 指针跑到 master 指针前面去了。如果我直接检出 master 分支,HEAD 指针就会回退一格到 master 指针的位置,而最新的那次提交就变成了孤立的提交,没有任何分支能追踪到它,刚才的活白干了。

吃一堑长一智,下面是解决办法:

1
2
3
4
# 强制将 master 分支指向当前头指针的位置</span>
$ git branch -f master HEAD
<span class="hljs-comment"># 检出 master 分支</span>
$ git checkout master
posted @ 2019-06-06 14:29  ToDarcy  阅读(1777)  评论(0编辑  收藏  举报