转载自:http://zires.info/category/git/
1)如何取消上一次的提交
git reset
--soft HEAD^
git commit -a -c ORIG_HEAD #ORIG_HEAD 是reset时对HEAD的拷贝
git commit -a -c ORIG_HEAD #ORIG_HEAD 是reset时对HEAD的拷贝
2)如何取消全部的本地修改
# 如果你没有提交
git checkout .
# 如果你提交了先
git reset
# 然后
git checkout .
git checkout .
# 如果你提交了先
git reset
# 然后
git checkout .
3)如果我想切另外一个分支,但是当前分支有了修改,当前分支修改还没有完成,所以又不想提交,怎么办?
# 临时保存当前分支的修改
git stash
# 更复杂点
git stash save [ --keep -index ] [ <message > ]
# 列出所有的stash
git stash list
# 恢复
git stash apply
# or
git stash pop
git stash
# 更复杂点
git stash save [ --keep -index ] [ <message > ]
# 列出所有的stash
git stash list
# 恢复
git stash apply
# or
git stash pop
注意:这个命令不会保存当前分支中Untracked的文件,所以记得在切到其他分支的时候,谨慎使用git clean