我刚看到一个蓝色的屏幕,我在上一周左右的所有工作都藏在了藏匿处,但是现在它已经消失了......好吧,我可以在资源管理器中看到.git
文件夹但做git status or fsck
它说它不是一个git repo ......这里有一个关于powershell的小游戏
PS C:\Users\tyoc\Documentos\wtf> git status
fatal: Not a git repository (or any of the parent directories): .git
PS C:\Users\tyoc\Documentos\wtf> cd .git
PS C:\Users\tyoc\Documentos\wtf\.git> git status
fatal: Not a git repository (or any of the parent directories): .git
PS C:\Users\tyoc\Documentos\wtf\.git> cd ..
PS C:\Users\tyoc\Documentos\wtf> git init
Reinitialized existing Git repository in C:/Users/tyoc/Documentos/wtf/.git/
PS C:\Users\tyoc\Documentos\wtf> git status
fatal: Not a git repository (or any of the parent directories): .git
PS C:\Users\tyoc\Documentos\wtf> git fsck --no-reflog
fatal: Not a git repository (or any of the parent directories): .git
PS C:\Users\tyoc\Documentos\wtf> git stash
fatal: Not a git repository (or any of the parent directories): .git
收起藏品会很好,因为幸运的是,仓库有一个中央存储库,所以一切都很好......但是我的工作不是,如果我一周没有做任何事情怎么样? 。:S。
我添加此内容以澄清:
蓝色屏幕前的回购状态是我的工作在藏匿处(我有7个旧的藏匿处,这最后是我本周的工作),因为我的客户要求我修改一些东西(所以我做我正在努力的东西)做了改变并推动......在我恢复藏匿之前几秒钟我得到了蓝屏,然后在reebot之后,我甚至无法做任何git命令.git目录在那里...(我不知道它是否包含某些东西或只是结构)。
因此,文件的状态是一个干净的工作副本(因为此刻请求的更改)和我的实际工作是 IS 在存储...
而且我使用sourcetree作为前端...不知道在一天结束时是不是sourcetree的故障还是蓝屏...但事实上我在保管中丢失了我的工作......
答案 0 :(得分:1)
我的git存储库后面的蓝色屏幕显然已经损坏了,就在我的结尾。我注意到文件.git / HEAD是空的。我通过将以下内容添加到.git / HEAD:
来解决问题ref: refs/heads/master
答案 1 :(得分:0)
我首先备份了我已删除的git repo,然后我按照@ equivalent8的建议克隆了repo,但没有全部替换它,我只在.git
中使用了这些文件:
这允许sourcetree能够打开和git状态工作(即它再次是一个git repo)。
然后从https://stackoverflow.com/a/91795/682603我修改搜索有点像这样
git fsck --no-reflog | select-string 'dangling commit' | foreach { $bits = $_ -split ' '; echo $bits[2]; git show $bits[2]}
所以我可以看到每个差异并通过提交检查提交,如果它是候选人我复制了第一行上方的哈希值,并前进到下一个按下q
的马赫。
然后我为每个候选人做了
git diff 52abca5cba3ff37b4954fd2c2e12c867dceb9481 --color=never > 52abca.patch
git diff 48f7110fa9d507226ce31593a0fc957e465d6c91 --color=never > 48f711.patch
所以我不再失去他们,并检查了候选人,我的工作仍在那里! (我认为)
但是我无法应用它们来检查每一个,每次error: unrecognized input
我得到git apply 48f711.patch
,我想我需要手动复制粘贴/删除每个文件???