从重置中恢复

使用 Git,你可以(几乎)总是把时钟倒转

不要害怕尝试重写历史*的命令。默认情况下,Git 不会删除你的提交 90 天,在此期间你可以轻松地从 reflog 中恢复它们:

$ git reset @~3   # go back 3 commits
$ git reflog
c4f708b HEAD@{0}: reset: moving to @~3
2c52489 HEAD@{1}: commit: more changes
4a5246d HEAD@{2}: commit: make important changes
e8571e4 HEAD@{3}: commit: make some changes
... earlier commits ...
$ git reset 2c52489
... and you're back where you started

* 注意像 --hard--force 这样的选项 - 他们可以丢弃数据。
* 另外,避免在你正在协作的任何分支上重写历史记录。