Git分离头指针记录

分离头指针状态

当用户执行

git checkout <commit id>

执行完命令会有下面的提示,提示你在分离头指针状态,在这个状态下修改提交的代码不会提交到正常的分支

Note: checking out '952770d'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD 目前位于 952770d... git checkout first commit

分离头指针状态查看和返回

git status可以查看是否在头指针分离状态

头指针分离于 952770d
无文件要提交,干净的工作区

如果想回到分支正常状态,直接执行git checkout master (master为要回到的分支)

分离头指针下修改

如果在分离头指针状态下对文件做了修改,并执行了git add .和git commit进行了提交,git commit会得到下面的提示

[分离头指针 952770d] git checkout first commit
 1 file changed, 1 insertion(+)

952770d为在分离头指针下提交的commit id,这个commit id回到master head是看不到的,回到master 重新执行git checkout 952770d可找回自己的代码,执行git log时也可以看到log;

在分离头指针下当执行git checkout到其他分支时,会收到下面的警告,提示用户要新创建一个分支来保留做的修改

警告:您正丢下 1 个提交,未和任何分支关联:

  952770d git checkout first commit

如果您想要通过创建新分支保存它,这可能是一个好时候。
如下操作:

 git branch <新分支名> 952770d

这时候可以执行git branch <新分支名> 952770d创建一个新的分支,这个分支是基于头指针分离下修改提交的952770d创建的。

猜你喜欢

转载自blog.csdn.net/yuelengloulan/article/details/72823420
今日推荐