-
把暂存区中的文件复制粘贴到工作目录:
git checkout -- filename
使用场景:
工作目录的文件修改或者移出,但是并没有提交到暂存区和本地仓库,可以使用这个命令还原这个文件
- 把本地仓库中的文件复制粘贴到暂存区:
git reset HEAD [filename]
使用场景:(前提:文件从工作目录提交到暂存区,但是并没有提交到本地仓库)
1、撤销对这个文件的操作,可以先使用这个命令还原暂存区的文件,再从暂存区还原工作目录的文件
2、这个文件在工作目录和暂存区都删除,现在想要恢复,可以使用这个命令还原暂存区的文件,再从暂存区还原工作目录的文件
- 版本回退:
1、返回上一个版本(工作目录、暂存区、本地仓库都会回退)
git reset --hard HEAD^
使用场景:工作目录中的文件提交到了本地仓库,现在想要撤销,使用本地的文件返回到修改之前
2、返回指定版本
git reset --hard HEAD^{n}
使用这个命令之前,可以先使用git reflog 查看操作日志,获取到目的版本的HEAD@{n},在通过这个命令返回指定的版本