Git - reset和checkout的区别

Posted Rocinante

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git - reset和checkout的区别相关的知识,希望对你有一定的参考价值。

参考

https://segmentfault.com/a/1190000006185954

1. Git的所有操作实际上是在操作这三个区域的状态(或内容)

2. 区别

checkout是会修改HEAD的指向,变更Index区域里的内容,修改Working Directory里的内容。
这看上去很像reset --hard,但和reset --hard相比有两个重要的差别

  1. reset会把working directory里的所有内容都更新掉
  2. checkout不会去修改你在Working Directory里修改过的文件
  3. reset把branch移动到HEAD指向的地方
  4. checkout则把HEAD移动到另一个分支

以上是关于Git - reset和checkout的区别的主要内容,如果未能解决你的问题,请参考以下文章

GIT checkout 和 reset 区别

Git reset , revert, checkout的区别和联系

Git 重置reset,检出checkout和回滚revert(reverse)有什么区别?

Git 重置reset,检出checkout和回滚revert(reverse)有什么区别?

Git之深入解析reset命令原理以及与checkout命令的区别

git resetgit checkout和git revert的区别