1、工作区回滚
1.1、新建文件,但未执行git add
echo "学习git各种状态回滚文件" > test.txt
![在这里插入图片描述](https://img-blog.csdnimg.cn/83875c4e20414f0e8a806742b5f42b7b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y6f5p2lfuWmguatpA==,size_20,color_FFFFFF,t_70,g_se,x_16)
git status
![在这里插入图片描述](https://img-blog.csdnimg.cn/faeda4b3d4a5413680a137b085f9d1ae.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y6f5p2lfuWmguatpA==,size_20,color_FFFFFF,t_70,g_se,x_16)
rm test.txt
1.2、修改文件,但未执行git add
echo "修改1" > test.txt
git add test.txt
git commit -m"保存test.txt文件提交"
echo "修改1" >> test.txt
git checout test.txt
2、暂存区回滚
2.1、执行了git add 但未执行 git commit
echo "测试文件2" > test2.txt
git add test2.txt
git rm --cached test2.txt
或
git reset test2.txt
rm test2.txt
或
git checkout test2.txt
3、本地git仓库回滚
3.1、执行了git commit但未执行git push
echo "测试文件3" > test3.txt
git add test3.txt
git commit -m "测试3"
git log
git reset HEAD^
rm test3.txt
或
git checkout test3.txt
4、远程git仓库回滚
4.1、执行了 git push 后的内容
echo "测试文件4" > test4.txt
git add test4.txt
git commit -m "测试4"
git push
git reset HEAD^
git push -f
rm test4.txt
或
git checkout test4.txt