git撤销操作和历史查看(git log)

Posted haoocker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git撤销操作和历史查看(git log)相关的知识,希望对你有一定的参考价值。

git查看历史和撤销操作

撤销提交

git commit --amend可以撤销上一次提交的内容,不过并不是撤销整个提交的记录,当使用这个命令之后可以修改提交信息,同时,这个命令也会自动将暂存区中的所有文件提交。如果自上次提交以来未做任何修改,比如在上次提交之后立即执行这个命令,那么快照会保持不变,所修改的只是提交信息。

首先修改Test7.md,并提交

技术图片

假如这时候突然发现上一个提交中遗漏了一个Test8.md,这时候只需要将Test8.md添加到暂存区。并使用命令git commit --amend

技术图片

可以在最上面一行修改提交信息,改成“modified Test7.md and add Test8.md.”然后保存并退出vim的编辑,这时候查看提交历史(git log):

技术图片

可以发现提交信息已经更改。

撤销暂存的文件

在Files文件夹添加Test4.md并添加到暂存区中

技术图片

如果想要撤销处于暂存区的Test4.md,根据git status的提示可以看出应该使用git reset HEAD Test4.md命令。此时再使用git status
技术图片

可以看出Test4.md已经处于未被跟踪状态。

撤销对文件的修改

首先将已经处于暂存区的Test4.md做一些修改,再查看其状态:

技术图片

根据status命令的提示也可以知道想要撤销对文件的修改需要使用命令git checkout --Test4.md这是再查看其状态:

技术图片

可以发现文件恢复成了开始的样子。

但是并不太建议使用上面的命令,要注意的是在git中已提交的东西几乎都是可以恢复的,但是任何没有提交的东西丢失后很可能再也找不回来了。上面的命令就是将未提交的内容丢失了

查看历史

使用git log命令可以会按时间列出所有更新,会列出每个提交的SHA-1校验和,作者的名字和和电子邮件信息,提交时间和提交说明。

技术图片

git log -p可以显示每次提交的内容差异,可以加上-2来仅仅显示最近两次的提交。

技术图片

git log --stat 可以看到每次提交的简略的统计信息,也就是-p选项的简略版,当然也可以加上-2选项来显示最近两次的提交

技术图片

还有一个常用的选项是--pretty,这个选项有一些内建的子选项可以选择,比如用oneline将每个提交放在一行显示,当查看的提交数很大时很有效果,另外还有short,full,fuller可以用,展示的信息或多或少有一些不同。

技术图片

技术图片

技术图片

之前的-2选项其实是git中限制输出长度的选项,它限制了只显示最近的两条提交,另外还有按照时间做限制的选项,比如--sinceuntil也很有用

技术图片

技术图片

技术图片

还有一个format选项,可以定制要显示的记录格式,在这里就不详细介绍了,一般用上面的命令足够。

以上是关于git撤销操作和历史查看(git log)的主要内容,如果未能解决你的问题,请参考以下文章

GitGit 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )

GitGit 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )

Git常用操作--创建提交撤销

Git常用操作

git 命令 查看历史提交 git log

Git版本回退和撤销修改