还原某个修改的文件
还原文件,对于Changes to be committed的文件,如删除的文件,使用:
git reset HEAD FILENAME
git checkout FILENAME
对于Changes not staged for commit的文件,使用:
git checkout FILENAME
清除 Untracked files
git clean -f -d
撤销本地修改
1、未add/commit
即放弃对本地已修改但尚未提交的文件的修改,还原其到未修改前的状态。
命令如下:
git checkout . # 撤销对所有已修改但未提交的文件的修改,但不包括新增的文件
git checkout [filename] # 撤销对指定文件的修改,[filename]为文件名
2、已经add/commit
可以回退到任意已经提交过的版本。已 add / commit 但未 push 的文件也适用。
命令如下:
git reset --hard [commit-hashcode]
# [commit-hashcode]是某个 commit 的哈希值,可以用 git log 查看
因此一般用法是先用 git log 查看具体commit的哈希值,然后 reset 到那个版本。