一、查看日志

git log

github 统计仓库浏览量 github查看浏览记录_暂存区


查看具体的日志中的操作

git show commit编号信息

github 统计仓库浏览量 github查看浏览记录_git_02

二、reset

我们在使用中,难免会存在我一个文件改错了,但放在了本地git中了,如何从本地git中回滚为上一次的git内容呢?
此处我们使用reset命令

git reset 需要回到的具体的某个head的commitid信息

github 统计仓库浏览量 github查看浏览记录_工作区_03


注意

此处的 git reset xxx,中的xxx是指你需要回滚到的(目标)commitId。

我们在使用 git log 查看git操作日志信息时,他的操作记录是按照倒序排列的,最新的永远在最上面!我们需要回退到之前的那个git文件上,所以此处的xxx填入的是需要回退到的目标commitid

github 统计仓库浏览量 github查看浏览记录_工作区_04

从上面图片中我们更能加深理解:
从本地仓库回滚采取reset head 命令,这个head命令就是你的具体的commitid。

三、文件删除

我们在实际使用中,总会出现文件加载(git add),加载了不需要的文件,但我们又想把他从本地缓存删除,如何实现呢?

上面的图片已经说明了,使用如下命令

checkout - 
 rm -cached
 checkout HEAD

这三个命令有什么区别呢,以及和git reset HEAD又有什么区别呢?
1、当执行 “git reset HEAD” 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。

2、当执行 "git rm --cached " 命令时,会直接从暂存区删除文件,工作区则不做出改变。

3、当执行 “git checkout .” 或者 "git checkout – " 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动

4、当执行 “git checkout HEAD .” 或者 "git checkout HEAD " 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。

此处参考文章:
菜鸟教程git