丢失所有以前的提交后如何移回旧版本的 git 存储库?

用户6130103

背景故事

我的存储库(比如“ABC”)托管在 github 中(但我在本地没有它的版本)。

我想在同一个 repo 中添加更多文件。

我做了什么

我创建了一个新的本地目录(比如“xyz”)

移入其中并初始化 git

cd xyz
git init

添加了 git remote 以链接“ABC”

git remote add origin {link to ABC}

创建了一些新文件并提交

git add ./
git commit -m "commit message"

接下来,当我尝试将新提交推送到 github 时

git push origin {branch-name}

我收到一条警告,指出我的本地计算机中缺少远程存储库的某些文件。

然后,我尝试了强制推送

git push -f origin {branch-name}

自然地(当时我不知道)我丢失了所有以前的“ABC”文件,而我现在只有 1 次提交(强制推送)。

还; 我什至没有以前提交的 SHA(至少我找不到它们)所以,git checkout <commit>不起作用。也没有git resetgit revert

但是在 ABC github 存储库中四处搜索,我找到了一棵树,它准确地显示了我想要取回的文件。我可以无论如何使用这棵树或任何其他步骤来找回丢失的文件。

请忽略任何错误和我孩子气的写作。因为我是 git 新手,所以一些技术描述可能是错误的。随时问回来。

提前致谢!

**

提交 1 次的我的 ABC 存储库的现状:https : //github.com/rdrsadhu/UEM-Kolkata-B.Tech

[这已经不是真的了。我通过提交 c005a51 恢复了我的文件]

我正在谈论的 ABC 回购树:https : //github.com/rdrsadhu/UEM-Kolkata-B.Tech/tree/9e394c24e708e590ec72e5d772be13749fb8cad3

卡巴努斯

到这里:

https://github.com/rdrsadhu/UEM-Kolkata-B.Tech/commits/9e394c24e708e590ec72e5d772be13749fb8cad3

在 Tree 下拉列表中,在此提交上创建一个新分支(也可以在您的树链接中使用)。现在提交应该在该分支下恢复。将分支提取到您的本地,并将其重置为 master。然后用力推。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章