代码之家  ›  专栏  ›  技术社区  ›  Bob

git:move和change HEAD之间的区别

git
  •  0
  • Bob  · 技术社区  · 3 年前

    重置将要做的第一件事是移动头部指向的对象。这不是 移动头部指向的分支。

    https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified

    2 回复  |  直到 3 年前
        1
  •  0
  •   edin-m    3 年前

    移动头部意味着将分支头部点在树中的位置更改为。

        2
  •  0
  •   matt    3 年前

    假设我们在一起 main .

    • git checkout mybranch 指向 mybranch ,并复制 进入索引和工作树。我们现在“开始” 我的分行 .

    • git reset a0b0c0 要点 a0b0c0 而且 把头指向 主要的 因此,我们仍然“继续” . 它可能也可能不复制 a0b0c0 进入索引和/或工作树,具体取决于此重置是软重置、混合重置还是硬重置。

        3
  •  0
  •   ElpieKay    3 年前

    HEAD 指向一个分支。认为 master 指向 CommitA dev CommitB .

    之前

    HEAD -> master -> CommitA
    

    之后 git reset dev

    HEAD -> master -> CommitB
    

    之后 git reset CommitB

    git checkout dev

    HEAD -> dev -> CommitB
    

    之后 git checkout CommitB

    HEAD -> CommitB
    

    git reset 递归地指向,从 委员会 git checkout 直接指向,从 .

    一开始就可以分离,

    HEAD -> CommitA
    

    在这种情况下,在 git重置开发

    之后

    之后

    头->开发->委员会
    

    头->委员会