Undo git-rm without commit:
git fsck --lost-found
and then poke around .git/lost-found/other for your missing content.
$ git commit --amend
修改上个commit的内容和信息。
$ git blame FILE
标注出一个指定的文件里每一行内容的最后修改者,和最后修改时间。
$ git reset ORIG_HEAD
Git保存原先的Head为一个叫ORGI_HEAD的标记,你可以安全体面的返回。
Git把算出的提交哈希值记录在.git/logs。这个子目录引用包括所有分支上所有活动的历史,同时文件HEAD 显示它曾经有过的所有哈希值。后者可以被用来分支上一些不小心丢掉的提交的哈希值。命令reflog为访问这些日志提供文件友好的接口:
$ git reflog
用Git内建alias命令来缩短你最常用命令的长度:
$ git config --global alias.co checkout
$ git config --global --get-regexp alias # 显示当前别名
alias.co checkout
$ git co foo # 和 'git checkout foo' 一样
$ git checkout -f COMMIT
$ git reset --hard [COMMIT]
$ git branch -D BRANCH # 注意不是 -d
$ git branch -M [SOURCE] TARGET # 注意不是 -m
$ git cat-file -p SHA1_HASH
.git/objects目录里随便找一个哈希值