Git版本回退(reset和revert)

git reset HEAD~

撤销掉最近一次提交,但是改动的内容还在工作区内,通过add和commit操作能重新提交,且最近一次提交的log不再存在。

git reset —hard HEAD~(会丢弃掉先前的提交,直接回到上一次log的commitID)

git reset HEAD~ 等价于 git reset 上一次的commitID号(不会丢弃掉先前的提交,还在本地工作区,需要重新add)

git revert HEAD

撤销掉最近一次提交之后,把此次的行为变成了一次提交。原来改动的内容不再在工作区内,相当于git reset --hard HEAD~了。git revert每次只能git revert HEAD,否则会有冲突,需要解冲突。




所以每次为了不解冲突最好只向前回滚一次,之后再向前回滚。回滚会自动生成commitID.



当然也可以回滚到任意版本。git reset --hard 指定版本的commitID,git push --force。

git回滚到任意版本
先显示提交的log
$ git log -3
commit 4dc08bb8996a6ee02f
Author: Mark <xxx@xx.com>
Date:  Wed Sep 7 08:08:53 2016 +0800

    xxxxx

commit 9cac9ba76574da2167
Author: xxx<xx@qq.com>
Date:  Tue Sep 6 22:18:59 2016 +0800

    improved the requst

commit e377f60e28c8b84158
Author: xxx<xxx@qq.com>
Date:  Tue Sep 6 14:42:44 2016 +0800

    changed the password from empty to max123
回滚到指定的版本
git reset --hard e377f60e28c8b84158
强制提交
git push -f origin master
完美

基于commit号新建分支

git checkout -b 分支名<branch name> commitID

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容