Git常用的撤销操作
http://git.oschina.net/wolf-sanpang/weixin/tree/master/lltax_manager
Git各个状态之间转换指令总结
基本状态标识
A- = untracked 未跟踪
A = tracked 已跟踪未修改
A+ = modified - 已修改未暂存
B = staged - 已暂存未提交
C = committed - 已提交未PUSH
[](http://www.netpi.me/uncategorized/gitrevoke/#各状态之间变化)各状态之间变化
A- -> B : git add <FILE>
B -> A- : git rm --cached <FILE>
B -> 删除不保留文件 : git rm -f <FILE>
A -> A- : git rm --cached <FILE>
A -> A+ : 修改文件
A+ -> A : git checkout -- <FILE>
A+ -> B : git add <FILE>
B -> A+ : git reset HEAD <FILE>
B -> C : git commit
C -> B : git reset --soft HEAD^
修改最后一次提交:git commit --amend
git回滚到任意版本
先显示提交的log
$ git log -3
commit 4dc08bb8996a6ee02f
Author: Mark <xxx@xx.com>
Date: Wed Sep 7 08:08:53 2016 +0800
xxxxx
commit 9cac9ba76574da2167
Author: xxx<xx@qq.com>
Date: Tue Sep 6 22:18:59 2016 +0800
improved the requst
commit e377f60e28c8b84158
Author: xxx<xxx@qq.com>
Date: Tue Sep 6 14:42:44 2016 +0800
changed the password from empty to max123
回滚到指定的版本
git reset --hard e377f60e28c8b84158
强制提交
git push -f origin master
git 删除本地修改的文件
git checkout .
git 删除本地添加的文件 没有提交的
git checkout . && git clean -xdf
完美