git版本回退操作(基于命令方式)

在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,
此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。

一、git reset 命令

命令说明:
git reset命令,恢复到一个旧版本并且旧版本之后的都不要。

该命令有四种选项模式:

git reset --soft 完全保留 工作区和暂存区,仅改变 HEAD的指向的位置(所有rese都会执行这个操作)。
git reset --mixed  完全保留工作区,彻底清除暂存区。
git reset --keep  彻底清除工作区和暂存区,保留工作区和HEAD之间的差异。
git reset --hard  彻底清除工作区和暂存区。

推送到远程仓库:
使用 git push -f 提交更改,此时如果用“git push”会报错,因为我们本地库HEAD指向的版本比远程库的要旧,用“git push -f”强制推上去。

示例:

git reset --soft 4990bcf17465705a66326e1698f72c63ee2c214e
git reset --mixed  4990bcf17465705a66326e1698f72c63ee2c214e
git reset --keep  4990bcf17465705a66326e1698f72c63ee2c214e
git reset --hard  4990bcf17465705a66326e1698f72c63ee2c214e

二、git revert 命令

命令说明:
git revert 命令,恢复到一个旧版本并且旧版本后的都保留。

推送到远程仓库:
使用 git push 提交更改,因为git revert 本质是新增一条提交记录的,所以直接推送即可。

示例:

回退到上一个版本
git revert HEAD

回退到指定版本
git revert 4990bcf17465705a66326e1698f72c63ee2c214e
posted @ 2024-01-30 17:23  吴川华仔博客  阅读(9)  评论(0编辑  收藏  举报