1. 未进行add(想要取消修改)
git checkout -- . # 全部git checkout --filename # 具体某个文件#命令中的--很重要,没有--,就可能变成 "分支切换" 的命令,但是如果没写--,且没有对应的分支,也可以恢复,为了保险,最好还是加上。
2.已经add(取消放入本地缓存)
git reset HEAD# 放弃指定文件的缓存git reset HEAD . # 放弃全部
3.已经commit ,但未push到远程仓库
git reset --hard HEAD ^ # 回退上一次commitgit reset --hard commitid # commitid 为git log 显示的提交历史中的SHA码,只需要前面几位即可。
4.删除远程分支
# 1.7.0之后git push origin --delete
5.遇到线上bug
开发新功能时,线上出现紧急bug需要修复,这时候手上写了部分代码还不能或者不想提交,又要切换分支先修复bug,git stash 保留当前修改,后面修复完了切回分支,git stash apply恢复非常方便