使用git reset命令,回退到以前的版本。
git reset HEAD^
:回退版本,一个^表示一个版本,可以多个,另外也可以使用 git reset HEAD~n
这种形式。
HEAD表示提交的最新版本。HEAD^表示上一个版本,HEAD^^表示上上个版本。HEAD~100表示往上100个版本。如果HEAD指针指向的是master分支,那么HEAD还可以换成master,如果知道特定的commit-id,那么还可以直接使用 git reset commit-id
。
git reset参数:
soft参数:git reset --soft HEAD~1
将版本库软回退1个版本,软回退即将本地版本库的头指针全部重置到指定版本,且将这次提交之后的所有变更都移动到暂存区。
mixed参数(默认):git reset HEAD~1
将版本库回退1个版本,将本地版本库的头指针全部重置到指定版本,且重置暂存区,即这次提交之后的所有变更都移动到未暂存阶段。
hard参数:git reset --hard HEAD~1
将版本库回退1个版本,不仅将本地版本库的头指针全部重置到指定版本,重置暂存区,且将工作区代码也回退到这个版本。
如果不加参数,实际上使用的是默认的参数mixed。soft参数与默认参数都不会修改工作区代码,只有hard参数才会修改工作区代码。
同时,git reset命令支持将文件从暂存区回退到工作区。
命令如下:
git reset HEAD filename