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

“git重置-硬”和“git签出”之间的区别是什么?

git
  •  7
  • CrazySynthax  · 技术社区  · 7 年前

    3 回复  |  直到 7 年前
        1
  •  3
  •   Tim Biegeleisen    7 年前

    以下是两个命令之间的区别:

    git checkout .
    

    这告诉Git从当前分支签出当前文件夹(不管是什么),并替换 工作 文件夹。但这不会影响工作文件夹的其他区域,也不会涉及舞台。

    git reset --hard
    

    转移到当前分支的负责人。你可以认为这是有效的核弹一切已经发生了,因为你上次承诺。

    一般来说,硬重置不会经常使用,而从不同位置签出文件/文件夹则更常见。

        2
  •  0
  •   hspandher    7 年前

    reset --hard <commit_id> ,它改变了 HEAD 要提交的当前分支的id,而 checkout

    git checkout 6a0ff74 
    # would create a temp branch with its HEAD pointed to commit id
    # you can just checkout your original branch.
    
    git reset --head 6a0ff74
    # would change the `HEAD` of the current branch. To reverse the change
    # you must find the latest commit id and `reset --hard` to it again.
    
        3
  •  0
  •   Vy Do    7 年前

    git checkout 从Git服务器获取更新数据,并将更改保存在本地计算机上。

    git reset --hard 在特定的头上创建一个类似Git服务器的复制标识,并在本地机器上放弃所有更改。