通常三种方法,版本回退,强制覆盖前一次提交,撤销某一次提交
目录
git commit --amend(修改最后一次commit)
git revert命令(撤消某一次提交)
用于撤销文件,撤销文件后不会影响其他的提交。
#撤销某个提交 git revert <commit-id> #撤销某个提交,但执行命令后不进入编辑界面,也就是不会自动帮你提交文件,需要手动提交,这与第1点的差别就是撤销和提交分开了。 git revert -n|--no-commit <commit-id>
git reset命令(版本回退)
用于回退版本,可以指定退回某一次提交的版本
# HEAD^ 表示上一个版本,即上一次的commit,也可以写成HEAD~1 # 如果进行两次的commit,想要都撤回,可以使用HEAD~2 git reset --soft HEAD^ #不删除工作空间的改动代码 ,撤销commit,不撤销git add file --soft #删除工作空间的改动代码,撤销commit且撤销add --hard #根据 id 回退到指定的版本,id可以通过git log查看 git reset --hard id
git commit --amend(修改最后一次commit)
最常用的情況,用于刚提交了错误代码的情况.
#######步骤############## #修改本地代码,重新增加到缓冲区 git add . #重新编辑最后一次commit git commit --amend #覆盖最后一次提交 git push -f
git push --force (强制提交覆盖远程仓库)
推送到本地到远程仓库:让远程仓库代码和你本地一样,到当前你本地的版本
git push origin HEAD --force git push --force