git命令行使用说明
撤回/回退(没push之前)
把暂存区的文件撤回到工作区,如果工作区文件有修改,以工作区的文件为准
$ git reset 文件名
回退到指定版本,会把暂存区置空,但不会影响现在工作区的文件
$ git reset 版本号
回退到指定版本,并且重置或删除现有的暂存区的文件对应的工作区的文件(就是说现有的放到暂存区的文件对应的工作区文件会被删除或重置(存在则重置成指定版本的样子))
$ git reset --hard 版本号
回退至本次版本,处理逻辑和上面的命令一样
$ git reset --hard
或
$ git reset --hard HEAD
回退至上次版本,处理逻辑和上面的命令一样
$ git reset --hard HEAD^
回滚(push之后想要回滚)
指定版本回滚
先
git reset 版本号
然后把当前版本号强制push到远程
git push -f
这时的提交树将不再显示版本号之后提交的提交记录,不过git reflog还可以看到记录
比如提交记录如下
11111111111
222222222
333333333
xxxxxxxxxx
想要回滚到333333333的代码,执行git reset 333333333的版本号,然后git push -f
提交树则变成
333333333
xxxxxxxxxx
提交树会变得很干净