git commit --amend
#可以对上次提交的内容进行修改,也可以修改提交说明.
#相当于上次提交错误的信息被覆盖了
git revert <SHA,例如:HEAD>
#【revert还原】将撤消目标 commit 所做出的更改
#创建一个新的 commit 来记录这一更改
#HEAD 某标签带有*,当前所在的位置(HEAD)
#在你的本地分支中使用 git reset 很方便,但是这种“改写历史”的方法对大家一起使用的远程分支是无效的哦!
#合并前的好像撤销不能??
强烈建议 在进行任何【reset重置】操作之前,在当前 commit 上创建一个分支backup,以便用作备份返回这些 commit。
git reset < 例如:HEAD~1 >
#重置会清除仓库中的 commit(按顺序删除提交)
- #–mixed 默认 会把 commit 9ec05ca 中做出的更改移至工作目录working directory中。到working directory 可以再次暂存后提交但sha不同
- #–soft 将 commit 的更改移到暂存区staging index, 之后再重新提交
- #–hard 删除sha指定的提交做得所有更改, 移动至垃圾篓trash中, 相当于向上移动分支让原来指向的提交记录就跟从来没有提交过一样。
git reflog
#反悔reset (30天内)
https://git-scm.com/docs/git-reflog
http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html