git log git的历史提交记录
image.png
commit 后面的hash值是 git提交id
git log --pretty=oneline 每条提交记录显示一行
image.png
git log --oneline 指hash值只显示一部分,只显示之前版本,未来的没了
image.png
git reflog
image.png
git在管理版本的时候有个指针(HEAD)
==================控制版本前进后退的几种方式==============
基于索引值 【推荐,可前进可后退】
git reset --hard [局部hash索引值]
git reset --hard e749825
基于^【只能后退】
git reset --hard HEAD^ 后退一个版本
有几个^,往回退几步
基于~【只能后退】
git reset --hard HEAD~3 后退3步
==========关于--hard --soft --mixed的区别=======
--soft 仅在本地库移动HEAD指针
image.png
git status
文件是绿色的,相当于工作区改了,暂存了,但没提交
--mixed 本地库移动HEAD指针
重置暂存区
image.png
文件是红色的,相当于工作区改了,没暂存,没提交
--hard 本地库移动HEAD指针
重置暂存区
重置工作区
让本地库、暂存区、工作区到当前指针的位置(如果之前有--sort或者--mixed命名,以本地库为准)
git reset --hard HEAD
=================永久删除后找回=================
1、本地库、暂存区、工作区域一致,删除,并提交到本地库
rm aa.txt 工作区删除aa.txt
暂存 =>提交
通过 git reflog 的索引进行找回文件(版本回退)
git reset --hard 7e07928
2、删除文件,添加到暂存区没有提交到本地库
git reset --hard HEAD
(以本地库指针版本为准)
删除文件找回
前提:
文件必须有提交过本地库的记录
注意区分:
本地库的指针的版本,指向的是哪个
===================文件比较=================
工作区中文件进行了修改,查看修改内容,此时是跟暂存区上一版本进行比较
git diff app.txt
image.png
执行 git add .
再执行 git diff app.txt
发现没有不同
git diff HEAD app.txt (工作区跟本地仓库指针的版本进行比较)
结果 有不同
还可以和历史版本进行比较
git diff HEAD^ app.txt
另外,不带文件名,可以比较多个文件
网友评论