1、理解工作区,暂存区,本地分支
https://www.liaoxuefeng.com/wiki/896043488029600/897271968352576
2、管理修改
https://www.liaoxuefeng.com/wiki/896043488029600/897884457270432
3、撤销修改
https://www.liaoxuefeng.com/wiki/896043488029600/897889638509536
四种情况:
(1)工作区修改,未git add 到暂存区,要撤销工作区修改
git checkout -- <file>
(2)已经git add 到暂存区。
git reset HEAD <file>
执行之后,修改从暂存区撤回,工作区的修改还在
(3)已经git commit 到本地分支
git reset --hard HEAD^ 回退到上一个版本 git reset --hard HEAD <版本号> 回退到指定版本 回退后工作区的修改没了
git reset --soft HEAD^ 回退后修改还在工作区和暂存区
git reset --mixed HEAD^ 或 git reset HEAD^ 回退后保留工作区修改,清空暂存区
git reset这三种模式的不同参见 https://www.jianshu.com/p/c2ec5f06cf1a
(4)已经git push到了远程仓库
参考 :https://blog.csdn.net/hanchao5272/article/details/79435730