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

Git分支和指针

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

git branch test

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

Git分支和指针

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

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

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

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

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

git checkout

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

git branch

(6)切换分支

git checkout  <分支名称>

 

Git分支和指针

Git分支和指针

Git分支和指针

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

Git分支和指针

reset 的几种,模式:

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

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

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

 

相关文章:

  • 2021-11-20
  • 2021-05-23
  • 2021-04-20
  • 2022-12-23
  • 2022-12-23
  • 2022-01-28
  • 2021-05-26
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-04
  • 2021-12-02
  • 2022-12-23
  • 2021-11-19
相关资源
相似解决方案