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选项,可以定制要显示的记录格式,在这里就不详细介绍了,一般用上面的命令足够。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM