背景故事:
我的存储库(比如"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
在树下拉列表中,在此提交上创建一个新分支(也可能在树链接中工作(。现在,提交应该在该分支下恢复。将分支提取到本地,并将其重置为主。然后用力。