0%

Git版本穿梭及版本比较

上节内容命令小结

  • 状态查看:git status

  • 添加操作:git add 文件名.扩展名(将工作区文件添加到暂存区)

  • 提交操作:git commit -m "备注" 文件名.扩展名(将暂存区文件提交到本地库)

查看历史记录

查看历史版本:git log

image-20220109094308532

简洁显示:git log --pretty=oneline

image-20220109094600500

更简洁显示:git log --oneline(只显示后面版本)

image-20220109094753040

显示指针移动步数:git reflog更加详细的历史记录

image-20220109095213452

HEAD@{移动到当前版本所需要步数}

若版本信息有多屏

则空格向下翻页,b向上翻页,q退出

版本前进后退

基于索引值操作[推荐]

命令:git reset ---hard 开头哈希值(索引值)

image-20220109100709122

选中了即复制了,直接右键Paste粘贴即可,前进后退都一样

使用^或~符号

只能往后退,不能往前

命令:git reset --hard HEAD^(退一个版本) git reset --HEAD^^(向后退两个版本)

有几个”^“就退几个版本,或者git reset --hard HEAD~n后退n步

soft、mixed、hard参数的区别

soft参数(不常用):仅仅移动本地库指针(不改变本地库数据)

image-20220110111029305

mixed参数(不常用):在本地库移动指针并且重置暂存区

image-20220110111040189

hard参数:在本地库移动指针、重置暂存区、重置工作区

image-20220110111056667

永久删除文件后找回

创建一个新文件

image-20220110111643932

删除文件指令:rm 文件名.扩展名

image-20220110111832475

现在状态为

image-20220110111909833

若想要恢复,即输入 git add delete.txtgit commit -m "备注" delete.txt来确定删除

记录不可磨灭(除非删除本地库),所以可根据记录找回删除文件

image-20220110113009537

添加到暂存区的删除文件找回

新建文件,并提交到本地库

image-20220110113802079

然后删除文件,并添加到暂存区

image-20220110113841345

若要找回此文件,则输入指令:git reset --hard HEAD(本质仍然是版本回归)

image-20220110114018441

总结:删除文件找回的前提是,删除前文件存在时的状态提交到了本地库

文件比较

命令:git diff 文件名.拓展名

image-20220110191213839

image-20220110191331518

上图表示第一行删去了9个a

还有其他比较方式,和本地库比较:git diff HEAD 文件名、和历史版本比较:git diff HEAD^ 文件名(和上一版本比较)