Git分支和指针

    xiaoxiao2021-03-25  116

    Git中的分支本质上是个指向commit对象的指针。

    在当前commit点创建一个新的分支test

    git branch test

    创建了一个新的可变指针指向f30ab  commit

    Git 是如何知道你当前是在哪个分支上工作的

    (1)Git保存着一个名为HEAD的特别指针

    (2)HEAD可以指向你正在工作中的本地分支的指针

    (3)HEAD也可以指向一个单独的commit点(分离头指针)

    (4)git中用来操作HEAD指针的命令是

    git checkout

    (5)查看当前所在的分支

    git branch

    (6)切换分支

    git checkout <分支名称>

     

    git reset 用于移动HEAD指针指向的commit点(如HEAD指针指向了分支,分支也会移动),但git reset 不会切换分支(注意和checkout的区别)

    reset 的几种,模式:

    (1)--soft:缓存区和工作目录不受影响。reset后分支和HEAD指针移动到指定的commit,代码文件内容和reset之前一样,修改部分已加入到暂存区。通常用于重新提交。

    (2)--mixed:(默认)工作目录不受影响。reset后分支和HEAD指针移动到指定位置,代码文件内容和reset之前一样,修改部分未加入到暂存区。(需要重新执行git add)

    (3)--hard:工作目录,缓存区均受影响。reset后分支和HEAD指针移动到指定commit,代码文件内容回退到指定commit,工作空间为clean状态。通常用于获取指定版本的代码文件。

    转载请注明原文地址: https://ju.6miu.com/read-7903.html

    最新回复(0)