首页 新闻 会员 周边 捐助

救命啊,在vs里错误的还原了历史代码,新代码被覆盖了,怎么办?

0
悬赏园豆:100 [待解决问题]

救命啊,在vs里错误的还原了历史代码,新代码被覆盖了,怎么办?

simadi的主页 simadi | 初学一级 | 园豆:134
提问于:2023-05-10 22:19
< >
分享
所有回答(7)
0

新代码有没有提交?

dudu | 园豆:30925 (高人七级) | 2023-05-10 22:21

新代码,都提交了,不过没推到远程.你能帮我一下吗?

支持(0) 反对(0) simadi | 园豆:134 (初学一级) | 2023-05-11 10:37

@simadi: 对这次还原再进行一次还原操作

支持(0) 反对(0) dudu | 园豆:30925 (高人七级) | 2023-05-11 17:36

@dudu:
选哪个?

支持(0) 反对(0) simadi | 园豆:134 (初学一级) | 2023-05-19 20:45

@simadi: 需要已经备份了未提交的修改 ,选 --hard

支持(0) 反对(0) dudu | 园豆:30925 (高人七级) | 2023-05-19 22:15
0

如果没推送 你可以在这个提交之前的一个提交上,重置删除更改

  • 重置删除更改:删除上一次提交,提交里的代码也一并删除
  • 重置保留更改:删除上一次提交,但是提交里的代码还在未提交区

不管推没推送,都可以再次还原这个还原的提交。

复制粘贴机器人 | 园豆:720 (小虾三级) | 2023-05-11 09:36

如果只有那一个还原的提交的话,可以重置删除更改(把最新的提交指向上一次提交,之后的提交都会被删除)


但是如果在那个还原提交之后还有提交,或者已经推送了就不能用这招了。

求稳就 还原 这个还原的提交:


变成

没把握的话先备份

支持(0) 反对(0) 复制粘贴机器人 | 园豆:720 (小虾三级) | 2023-05-11 23:24

@复制粘贴机器人: 没提交,更没推送,只是 还原了.,这个版本的 还原已不可选了

支持(0) 反对(0) simadi | 园豆:134 (初学一级) | 2023-05-19 20:51

@simadi: 这个提交应该是一个合并提交。如果项目不大的话,先复制备份一下,再试试在2022/10/30的那个提交上使用 重置-删除更改

支持(0) 反对(0) 复制粘贴机器人 | 园豆:720 (小虾三级) | 2023-05-19 21:06

@复制粘贴机器人:
我想将代码,还原到最新的,怎么搞?我给你发消息了,+我一下,谢谢

支持(0) 反对(0) simadi | 园豆:134 (初学一级) | 2023-05-19 21:12

@simadi: emmm 这里我也不会了

支持(0) 反对(0) 复制粘贴机器人 | 园豆:720 (小虾三级) | 2023-05-19 21:15
0

回退尚未push的最近一次commit
git reset --soft HEAD~1
这个不知道可不可以

人间春风意 | 园豆:2780 (老鸟四级) | 2023-05-11 10:07
0

https://blog.csdn.net/qq_41372916/article/details/126481561 试试我的方法看能行不

Biuget-Golang | 园豆:784 (小虾三级) | 2023-05-11 10:45
0

基于远程最新代码新建个branch, cherry pick 出自己更改的?

一代光影 | 园豆:208 (菜鸟二级) | 2023-05-18 10:53
0

你要是不会,最简单的,
1 先把当前分支A推上去保住数据
2 选中你新代码的那次提交记录创建一个新分支B
3 删除当前分支A
4 重命名分支B为A

猝不及防 | 园豆:2878 (老鸟四级) | 2023-05-18 11:30
0

在 Visual Studio 中,可以通过版本控制工具来还原历史代码。

如果您使用的是 Git 版本控制器,可以使用以下命令来还原代码:

git log --oneline // 查看 commit 记录
git checkout <commit-hash> // 在指定的 commit 中还原代码

其中 <commit-hash> 是需要还原代码的 commit 的哈希值,可以从 git log 命令的输出中复制。

如果您使用的是 TFS (Team Foundation Server)版本控制器,可以使用 Visual Studio 自带的版本控制工具来还原代码。具体步骤如下:

  1. 在 Visual Studio 的团队资源管理器中,找到被还原的文件或文件夹,右键选择“浏览历史版本”。

  2. 在“浏览历史版本”窗口中,可以看到每个版本的详细信息,包括作者、提交时间、提交注释等。选择需要还原的版本,右键选择“还原到此版本”。

  3. 在弹出的对话框中,选择“覆盖本地”,然后单击“确定”按钮。注意,这个操作是不可逆的,还原后旧代码将被新代码覆盖。

在执行还原操作之前,强烈建议建立一个备份,以防止还原操作失败或出现其他问题。此外,同步更新代码至版本库,确保后续的开发工作不会出现不一致性。

小九九呀 | 园豆:383 (菜鸟二级) | 2023-06-17 20:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册