赞
踩
目录
一、(git log、git reflog)查看git提交日志及命令历史
三、git reset --hard(回退到指定版本,不保留更改)
四、git revert(回退到指定版本,保留commit记录)
6.1 不小心git reset --hard回退了,怎么回到以前版本
我们开发过程中会遇到git数据提交错误、代码回滚,或者一些没用的comit进行合并,优化commit展示
git 记录着所有的提交日志,通过log命令可以读取过去的提交记录,得到commit id即版本的哈希码
- git log
- 四行详细记录,包括的信息有commit id、提交者、提交时间、备注
- git log --pretty=oneline
- 输出的每个提交记录只占据一行,每行的显示内容为commit id + 备注
通过relog命令可以读取过去的命令历史
git reflog
回退的同时,将回退对应版本到目前版本的commit信息记录将删除、代码不会删除、只是合并commit记录(用这个可以合并多个commit、来使commit记录看起来整洁)
git reset <commit>
如果要回退到上一个版本,可以使用以下 Git 命令:
git reset HEAD^
这个命令将会将当前版本回退到上一个版本,HEAD^ 表示上一个版本,HEAD^^表示上上个版本。
如果想回退更多个版本,用 HEAD~n 即可,比如回退到前5个版本:
git reset HEAD~5
回退的同时,将代码和commit记录都将回退到指定版本(放弃目标版本以后的所有修改)
git reset --hard <commit>
回退项目版本时,可以运行 git revert 命令,该命令会回退指定版本的修改,并创建一个新的提交来存储这些被撤销的更改。
git revert --no-commit <commit>..HEAD
它会保存当前工作进度,会把暂存区和工作区的改动保存到一个未完结变更的堆栈中;执行完这个命令后,在运行 git status
命令,就会发现当前是一个干净的工作区,没有任何改动。
看下面博客地址详细解说:
可以使用git reflog 来查看命令记录,然后再用git reset --hard 记录id 来进行复原
git log是commit记录,git reflog是git 命令记录,同时这两个查看命令配合git reset(git reset --hard)可以让你在不同版本之间游刃有余
reset执行后不会产生记录,revert执行后会产生记录。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。