git提交时老有提错的时候
1、误add单个文件/全部文件
git reset HEAD 将file退回到unstage区
2、commit后想撤回
方式一:
1、git log //查看对应版本号
2、git reset --soft 版本号
//git reset --soft HEAD^ //回到上一个版本
不删除工作区改动的代码,撤销commit,不撤销git add .
方式二:
1、git log //查看对应版本号
2.git reset --mixed 版本号
git reset --mixed HEAD^ //回到上一个版本
不删除工作区改动的代码,撤销commit,撤销git add .
方式三:
1、git log //查看对应版本号
2、git reset --hard 版本号
git reset --hard HEAD^ //回到上一个版本
删除工作区的代码,撤销commit,撤销git add . 回到上一次commit的状态
3、push后如何撤回
第一种:
git reset --hard
git reset --hard version // 这个version可以通过Git log来拿 ,也可以通过 github上去看commit的提交记录。
git push -f // 强制覆盖线上
特点是:
git reset --hard 会把后面的提交记录全部给覆盖掉,
git log 显示的记录是
第三次提交 commitid :3
第二次提交 commitid :2
第一次提交 commitid :1
此时 如果我执行git reset --hard 1
这个时候执行git log记录只有一条了。
第一次提交 commitid :1
第二种:
git revert -v +版本号
比如:
git log 显示的记录是
第三次提交 commitid :3
第二次提交 commitid :2
第一次提交 commitid :1
这个时候我执行了git revert -v 2,这个时候会发生的事情是:会把第三次提交的东西保留, 但是第二次提交的东西会被撤销掉, 然后你可以进行修改在提交为第四次commit。
此时执行git log 显示记录:
第四次提交 commitid :4
第三次提交 commitid :3
第二次提交 commitid :2
第一次提交 commitid :1