我刚刚在Github上创建了一个新的存储库。从一个装满文件的文件夹开始,我所做的步骤是:
git init
git add -A
git remote add origin ...
#Now pull in the first commit that github made
git pull origin master
#Check everything is OK
ls
!我所有的文件都消失了!发生了什么?我可以让他们回来吗?
你可以把它们带回来。即使指向它的唯一一件事是索引,
git add
仍然将添加的内容放入存储库中。 我首先要找到“悬挂”(git的“未参考”的拼写略微古怪的拼写)和这些斑点,如果太多了,我会做这样的事情。
对于我来说,以下工作有效:go到受影响的文件。 右键单击并选择
Show历史记录
。 从那里您可以看到对文件进行的更改的历史记录,然后选择要将文件带回的时间。git fsck
git cat-file -p
搜索结果:
find .git/objects -type f | xargs ls -lt
搜索结果是:
git fsck
然后还原文件:
grep -rin <string_in_missing_file> .git/
当我试图推动我的承诺并获得的时,我做了类似的事情 提示:更新被拒绝,因为您当前分支的提示落后 提示:其远程对应物。集成远程更改(例如 提示:“ Git Pull ...”),然后再次推动。
我试图通过
恢复我的承诺
grep -rin MyClassName .git/
不小心再次拉动并推动更改。我7天的所有工作都丢失了。
这为我工作,将我的所有工作都回到当地分支:
.git//lost-found/other/3cfaa36226f52a5c1b38c2d2da3912656c998826:5:class MyClassName extends ParentClass
.git//lost-found/other/e7b8923de4afb230ad523b5b515f50cb9c624248:5:class MyClassName extends ParentClass
由于您从未犯过文件,所以不后悔。您需要采取的步骤是:
.git/<path_to_file>:<line_number_of_found_string>:<found_string_and_context>
如果有疑问,请记住。只要这样做,您就可以随时用git撤消东西。
另一个提示,如果您使用的是Intellij,请单击文件夹,然后转到本地历史记录并将其恢复到那里的任何状态。在解决此问题后谷歌搜索后找到了该解决方案,因此如果对其他任何人有帮助,请在此处放置。
感谢所有人的反馈。 如果您对CLIS吮吸只需执行以下操作:
-go to您的项目的.git文件夹 -然后转到“丢失”的子文件夹。