03 git本地库常用操作
一、查看历史记录
- 查看历史记录的几种类型
git log
git log --pretty=oneline
git log --oneline
git reflog
(推荐使用)
- 下图是
git log
命令执行的结果。可以看到该仓库总共有3个版本,其中黄色选中部分是每一个版本的唯一标识(是通过哈希算法得到的哈希值),在版本的穿梭过程都是依靠每一个版本的唯一标识来找到对应的版本。
二、版本穿梭
- 前进后退
-
使用命令:
git reset --hard [局部索引值(文本哈希值)]
-
使用^符号:只能后退
使用命令:git reset --hard HEAD^
注:一个^表示后退一步,n个表示后退n步
-
使用~符号:只能后退
使用命令:git reset --hard HEAD~n
注:表示后退n步
- reset命令的三个参数对比
- soft
仅在本地库移动HEAD指针
使用命令:git reset --soft [局部哈希值]
- mixed
在本地库移动HEAD指针,重置暂存区
使用命令:git reset --mixed [局部哈希值]
- hard
在本地库移动HEAD指针,重置暂存区,重置工作区
使用命令:git reset --hard [局部哈希值]
三、文件的删除与找回
- 删除文件。从 git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。
- 如果删除的是文件使用命令:
git rm -f [文件名]
- 如果删除的是目录使用命令:
git rm -rf [目录名]
- 然后向本地库提交本次操作。
- 找回删除文件只需要回溯到未删除之前的状态
使用命令:git reset --hard [哈希值]
四、比较文件差异
使用命令:git diff [文件名]
使用命令:git diff [本地库中历史版本] [文件名]
t diff [文件名]使用命令:
git diff [本地库中历史版本] [文件名]`