git拉删除的无委托更改

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

我刚刚在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
5个回答
15
投票

你可以把它们带回来。即使指向它的唯一一件事是索引,

git add
仍然将添加的内容放入存储库中。 我首先要找到“悬挂”(git的“未参考”的拼写略微古怪的拼写)和这些斑点,如果太多了,我会做这样的事情。

对于我来说,以下工作有效:
go到受影响的文件。

右键单击并选择

6
投票
,然后选择

Show历史记录

。 从那里您可以看到对文件进行的更改的历史记录,然后选择要将文件带回的时间。
    您将获得两个窗口,左一个窗户的windows>>
  1. 。单击所有的>>
  2. ,这将使您的更改发送到右窗口。
  3. 将窗口插入窗口,然后将文件恢复到您想要的位置。 我希望它能有所帮助!
  4. 我同意公认的答案,但是就我而言,结果太多了。该解决方案是帮助我找到丢失的文件的原因: 搜索缺失文件中的字符串: git fsck
  5. 例如:
git cat-file -p

搜索结果:

5
投票
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

3
投票

由于您从未犯过文件,所以不后悔。您需要采取的步骤是:

.git/<path_to_file>:<line_number_of_found_string>:<found_string_and_context>
如果有疑问,请记住。只要这样做,您就可以随时用git撤消东西。
    

另一个提示,如果您使用的是Intellij,请单击文件夹,然后转到本地历史记录并将其恢复到那里的任何状态。在解决此问题后谷歌搜索后找到了该解决方案,因此如果对其他任何人有帮助,请在此处放置。

感谢所有人的反馈。 如果您对CLIS吮吸只需执行以下操作:

-go to您的项目的.git文件夹

-然后转到“丢失”的子文件夹。

1
投票
简单地将其打开在文本编辑器中,看看它们是否足够及其保存。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.