有什么方法可以恢复文件的以前版本吗?

问题描述 投票:0回答:1

我工作中的每个人都在同一个存储库下编写代码,但每个人都在自己的单独分支上编写代码。具体来说,我们写入一个 .ipynb 文件,我将其称为“文件”。有一个名为“MAIN”的主分支,我的老板将我们个人工作的所有可概括的部分编译在一个地方,并包含适当的文档,以便我们可以彼此共享代码。这意味着每个单独的分支和 MAIN 分支都有一个名为 File.ipynb 的文件。我们只推送到我们自己的分支(从不推送到 MAIN)并从 MAIN 拉取。

上周,我试图将代码从 MAIN 分支提取到我的分支中。出了点问题,它只接受了 MAIN 的更改,这意味着它删除了我的所有更改。这也意味着本地文件仅被从 MAIN 中提取的更改覆盖,不包括我自己的工作。由于我们显然使用 git,所以我认为我可以转到上次提交并将这些更改拉回来不会有问题。但是,它们不知何故消失了。我是 VSCode 的新手,所以可能是我推动的方式不当,但它说我的最后一次提交是几个月前,这不可能是真的。

我想知道是否有任何方法可以恢复我的代码,可能是我访问本地文件的先前版本或操作 git。

我尝试将更改从一个分支拉入另一个分支,但却丢失了原始分支中的所有内容,以及之前的提交和本地文件。

这是我的 git 历史记录。有人试图提供帮助,但我相信这也让事情变得更糟。

PS C:\Users\USERNAME\source\repos\Repository> git reset --hard HEAD~1
PS C:\Users\USERNAME\source\repos\Repository> git reflog
93d4a14 (HEAD -> Branch) HEAD@{0}: reset: moving to HEAD~1
b7b9970 (origin/Branch) HEAD@{1}: pull --tags origin main: updating HEAD
b7b9970 (origin/Branch) HEAD@{2}: commit (merge): Merge branch 'main' of https://gitlab.com/Lab/Repository into Branch
93d4a14 (HEAD -> Branch) HEAD@{3}: commit: 09192023
0b256c0 HEAD@{4}: pull --tags origin main: updating HEAD
0b256c0 HEAD@{5}: pull --tags origin main: updating HEAD
0b256c0 HEAD@{6}: pull --tags origin main: updating HEAD
0b256c0 HEAD@{7}: pull --tags origin main: updating HEAD
0b256c0 HEAD@{8}: commit: commit4
fbcb7ad HEAD@{9}: commit: commit3
756d688 HEAD@{10}: commit: commit2
be82e8e HEAD@{11}: commit: commit1
33ff098 (origin/Comp, main) HEAD@{12}: checkout: moving from main to Branch
33ff098 (origin/Comp, main) HEAD@{13}: clone: from https://gitlab.com/Lab/Repository
git
1个回答
-1
投票

在日志中,您可以看到合并主要内容的点:

b7b9970 (origin/Branch) HEAD@{2}: commit (merge): Merge branch 'main' of https://gitlab.com/Lab/Repository into Branch

一开始,这就是提交 ID。要恢复到该点,您可以使用以下代码:

git revert b7b9970
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.