当前位置:   article > 正文

git branch checkout理解

git branch checkout

git中可以理解为有两种指针,git的提交记录可以看做是一棵树。两种指针指向不同位置来索引。

  • branch name的指针。比如说main就是最一开始有的branch,操作都是基于main这个指针的。
  • HEAD指针。HEAD指针其实才是真正指向某一个位置的指针。我们以为main起作用,其实是因为HEAD指向了main。我们也可以用checkout让HEAD指向别的branch name指针,这样就是别的branch起作用了。当然,还可以分离HEAD和branch name,让HEAD指向某一个提交位置。

git checkout -b new 会在当前位置创建一个新的branch,并将HEAD指向它。

git checkout <branch-name> 将HEAD指向某个branch。

git checkout <hash name> 将HEAD指向某个提交位置,这一操作会将HEAD和branch分离。

git branch -f <branch-name> <position> 强制将某个branch name的指针移动到position这个位置。position可以有几种指定方式

  • 用hash值做绝对引用。
  • 用其他branch name或者HEAD,以及用HEAD^,HEAD~2这类相对引用。

尽管这些复杂的移动branch和HEAD的操作基本都用不到,但是可以很好地理解树是怎么长大的,不同的branch之间的关系。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/333854
推荐阅读
相关标签
  

闽ICP备14008679号