Git恢复到之前版本

Git恢复到之前版本

1. 应用场景

进行了错误提交,需要将代码回退至某个版本;或者需要检出某个版本的代码,再切换回最新版本。

2. 解决方法

2.1 方式一:git reset

通过命令:git reset --hard 目标版本号

这样就会整个回退至目标版本号对应的状态,在这个版本后的版本提交记录就都没有了。

这种比较适用于回退至目标版本,之后版本直接废弃的情况。

使用该命令之前一定要确保本地所有修改均已经提交,否则会导致未commit的文件直接丢失。

2.2 方式二:git checkout

git checkout命令后面除了可以跟分支名称外,还可以跟目标版本Id,通过命令git checkout 目标版本号就可以切换到目标版本的状态,注意这个命令实际上是切换到了目标版本的临时分支,如果过要回到最新版本,可以通过命令 git checkout 原来分支名称

这种比较适用于临时回到之前版本查看当时状态,然后再回到最新版本。

2.3 方式三:git revert

git revert用于“反做”某一个版本,以达到撤销该版本的修改的目的。比如,我们commit了三个版本(版本一、版本二、 版本三),突然发现版本二不行(如:有bug),想要撤销版本二,但又不想影响撤销版本三的提交,就可以用 git revert 命令来反做版本二,生成新的版本四,这个版本四里会保留版本三的东西,但撤销了版本二的东西。
————————————————
原文链接:https://blog.csdn.net/yxlshk/article/details/79944535

3. 参考链接

[1]. Git恢复之前版本的两种方法reset、revert(图文详解)

[2]. git切回旧版本代码后再切回最新代码

[3]. 使用git reset回退版本

[4]. 恢复因git reset --hard 但未提交全部文件到仓库导致的文件丢失问题

当你想要从 Git恢复到某个 pull 操作之前的状态,你可以通过撤销最近的提交或者使用 `git reset` 和 `git reflog` 这两个命令来实现。以下是几个步骤: 1. **查看提交历史**: 打开终端,进入你的项目目录,然后运行 `git log` 或者 `git reflog` 来查看最近的提交历史。`reflog` 尤其有用,因为它记录了每个提交对 HEAD 的影响。 2. **找到要回退到的版本标识符**: 查找并记下你想恢复到的那个提交的哈希值(SHA)。这通常是某次 commit 提交消息的一部分,或者是 `git reflog` 输出中的内容。 3. **撤销最近的提交**: 使用 `git reset` 可以撤销最后一次提交。如果你确定想完全撤销,可以这样操作: ``` git reset --hard <commit_hash> ``` 如果只是想撤销当前分支的HEAD而不丢弃更改,可以用 `git reset --soft`,如果只是撤销更改但保留提交,用 `git reset --mixed` 或 `git reset HEAD~1` (这里表示退回一步)。 4. **备份未提交的更改**: 在执行上述操作前,建议先将未提交的更改保存起来,因为 `git reset` 会清除所有未跟踪的更改: ``` git stash # 临时存档未提交更改 ``` 5. **检查状态**: 确认你的工作目录已经回到你要的状态,然后你可以选择 `stash pop` 来应用刚才保存的更改,或者继续处理新的工作。 请注意,一旦你执行了 `git reset --hard`,就无法找回被删除的提交了,因此一定要小心操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值