git reset与git revert
git reset中有三个命令(–hard、–soft与–mixed);主要用于工作区、暂存区、本地仓库三个区域的文件提交撤回。
在将文件提交至远程端时,文件的提交需要经过git add
、git commit
及git push
三个过程才能提交至git远程仓库。我们平时修改文件在工作目录中,提交时先使用git add
提交至暂存区,再通过git commit
提交至本地仓库,最后才能使用git push
提交至GitHub。git reset的三个命令就是用于本地的文件区域撤回。
git reset --soft xxx(commit操作的哈希ID)
git reset --soft xxx
用于将文件提交至本地仓库后撤回暂存区的操作。
- 我们先创建几个文件,并将其中的部分添加至本地仓库
- 在这里可以使用
git log
来查看commit的操作行为哈希ID - 使用
git reset --sofet xxx
后使用git status
查看暂存区文件111.md 222.md已回
git reset --mixed xxx 用于将本地仓库文件撤回至工作区,具体操作参照git reset --soft
git reset --hard xxx 会将工作区、暂存区、本地仓库的所有提交的文件全都撤销(包括工作区文件,会删除)
下面我们来验证一下
- 我们将文件 111.md,222.md,333.md 添加至暂存区并重复之前的
git commit
添加操作
-使用git reset --hard
后可以看到在暂存区与工作区都没有了之前添加的文件
而且回收站也没有哦!