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



背景故事

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

我想向同一个存储库添加更多文件。

我做了什么

我创建了一个新的本地目录(比如"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 reset也没有git revert

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

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

提前感谢!

**

我的 ABC 存储库的当前状态,有 1 次提交: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

在树下拉列表中,在此提交上创建一个新分支(也可能在树链接中工作(。现在,提交应该在该分支下恢复。将分支提取到本地,并将其重置为主。然后用力。

相关内容

  • 没有找到相关文章

最新更新