情况一:文件被修改了,但未执行git add
操作(working tree内撤销)
-
git checkout fileName
-
git checkout .
情况二:同时对多个文件执行了git add
操作,但本次只想提交其中一部分文件
-
$ git add *
-
$ git status
-
# 取消暂存
-
$ git reset HEAD <filename>
情况三:文件执行了git add
操作,但想撤销对其的修改(index内回滚)
-
# 取消暂存
-
git reset HEAD fileName
-
# 撤销修改
-
git checkout fileName
情况四:修改的文件已被git commit
,但想再次修改不再产生新的Commit
-
# 修改最后一次提交
-
$ git add sample.txt
-
$ git commit --amend -m"说明"
情况五:已在本地进行了多次git commit
操作,现在想撤销到其中某次Commit
git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]