关于查看操作日志的知识点补充:提交、推送、拉取、合并、切换分支等!
1、查看未删除的操作记录:$ git log //显示之前的所有提交过的操作记录详情:版本号+提交作者+提交日期+提交描述;
2、查看未删除的操作记录简化:$ git log --pretty=oneline //只显示版本号+描述;
3、查看所有操作记录:$ git reflog //显示所有操作记录,包括版本切换的记录;(这个更像一种安全机制,一般用不到。)
一、版本回退:reset
-
$ git log //选择要返回的commit号;$ git reset --hard commit号
-
$ git log --pretty=oneline //也是查看日志,只不过这个更简洁,不显示提交作者与提交日期;
-
回退到上一次提交:$ git reset --hard或–soft或–mix HEAD^1 //HEAD是一个指针,永远指向最新版本; --hard:会把回退后的版本以后的版本都删掉;–soft:回退后,回退的版本之后的版本仍然保留;–mix:与soft类似,也保留所有版本,只是回退后不自动执行:git add ;
-
回退到更多版本:$ git reset --hard HEAD~n // 这里n代表需要回退几个版本(n=2,就是回退两个);
二、版本穿越:也是reset,一般用于回退后再往前
- 穿越到指定版本号:$ git reset --hard 版本号前8位 //如:d38a8b80
三、还原文件:checkout
- $ git checkout src/b.txt
- 与reset不同:这个命令用于文件修改后没有执行commit操作才能用,还原文件;因为如果提交了那就是reset版本回退了;
- 其实相当于将这个文件从已提交的本地库中拿出来替换工作区的文件。
四、删除文件:
- 先本地删除
- git add
- git commit
- 因为执行了提交,所以删除的文件仍然可以通过版本回退找到。
五、工作区、暂存区、本地库
- 工作区:电脑磁盘
- 本地库:就是默认隐藏的.git文件夹
- 暂存区:就是.git文件中一个叫index的文件。也叫索引