-
Git系列目录
- Git系列(一):Git安装后配置用户名、邮箱
- Git系列(二):Git创建本地仓库及对文件进行操作
- Git系列(三):Git版本管理
- Git系列(四):本地仓库关联远程仓库(将本地仓库推送到GitHub)
- Git系列(五):Git Flow
- Git系列(六):Git贮藏
如果说在工作中需要回退到之前的版本,那么就需要以下操作
- 查看每一次提交的日志信息和commit id
git reflog
说明:当前版本为HEAD{0},当前本地仓库有一个test.txt文件,在上一次版本中,本地仓库什么都没有。黄色的一串id为commit id,用来标识不同的版本
- 回退到上一个版本
git reset --hard HEAD^
说明:从这里可以很明显的看出已经回退到上一个版本,HEAD代表指针,用于指向当前版本,^代表前一个版本,^^表示前两个版本
- 回退到前几个版本
git reset --hard HEAD~5
说明:将5改一下就OK了
- 回退到指定commit id的版本
git reset --hard cae5e47
说明:cae5e47为第一次提交的commit id,这个版本中存在一个test.txt文件
- 将暂存区的暂存的文件返回到工作区
先修改test.txt文件
然后添加到暂存区
git add test.txt
将暂存区的暂存的文件返回到工作区
git reset HEAD test.txt
- 撤销文件在工作区的改动
在有的IDE中存在history的功能,可以从history中选择历史版本,Git也提供了撤销的功能,将文件恢复到HEAD指针指向的版本仓库的状态
说明:现在test.txt文件被修改了,新增了一行bbbbbbbbbbbbb,从git status中看出现在文件还在工作区
说明:使用 git checkout test.txt命令撤销文件的修改,可以看出之前新增的一行bbbbbbbbbbbbb已经被撤销了,git status中test.txt也没有修改的状态,在git diff中也没有修改的记录