修改了很多文件,还没有 push
到远程仓库,这时候想恢复几个文件或目录的修改。
只是修改了文件
还没有 git add
git checkout -- file.txt # file.txt为文件名,也可以是目录
修改了文件,并提交到暂存区
编辑之后,已经运行了 git add
但还没有运行 git commit -m …
的情况
git reset HEAD # 回退到当前版本
git checkout -- file.txt # file.txt为文件名,也可以是目录
修改了文件,并提交到仓库区
编辑之后,运行了 git add
和 git commit -m …
的情况
git reset HEAD^ # 回退到上一个版本
git checkout -- file.txt # file.txt为文件名,也可以是目录
对于已经 push
到远程仓库的 commit
就需要使用 git reset
回滚到指定 commit
然后重新 push
。