git 撤销操作

git 的log提供了一个很好的维护版本的机制,类似一个回滚段,为用户提供一个撤销的单位


撤销working directory
  • 以file为操作单位
>  git checkout -- [file] #上一版本
#git checkout 命令 和 git reset 类似,除了它会更新 working directory, 
#而不是 staged snapshot 
> git checkout HEAD~n/[commit id]#通过n或者commit hash指定版本

撤销staged snapshot
  • 以file为单位
    > git rm --cached #从stage删除
    > git reset HEAD~1 [文件](不建议使用) #unstaged文件
  • 以commit为单位
    > git reset --mixed HEAD
撤销working directory+staged snapshot

> git reset --hard HEAD #重置为上一版本状态,为commit层次操作


Sum:
在File层次上的操作:
  -git reset 指向stage snapshot
  -git checkout 指向working directory
在commit层次的操作:
  -git checkout 指向分支切换
  -git reset 指向[staged snapshot|staged snapshot+working directory]

参考地址

你可能感兴趣的:(git 撤销操作)