这是我第一次使用git,我想将现有项目导入github,一切都被删除了.在搜索完答案之后,我认为git在git pull之后删除了文件,我正在尝试恢复文件和文件夹,但我找不到如何做到这一点.
我接着做了下一个:
jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git init Initialized empty Git repository in /home/jesus/Escritorio/Django/Ujixy/.git/ jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git add . jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached..." to unstage) # # new file: Catalogoapp/__init__.py # new file: Catalogoapp/models.py # new file: Catalogoapp/tests.py # new file: Catalogoapp/views.py # new file: Messageapp/__init__.py # new file: Messageapp/models.py # new file: Messageapp/tests.py # new file: Messageapp/views.py # new file: Ujixyapp/__init__.py [...] jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git push origin master fatal: 'origin' does not appear to be a git repository fatal: The remote end hung up unexpectedly jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git add * jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached ..." to unstage) # # new file: Catalogoapp/__init__.py # new file: Catalogoapp/models.py # new file: Catalogoapp/tests.py # new file: Catalogoapp/views.py # new file: Messageapp/__init__.py # new file: Messageapp/models.py # new file: Messageapp/tests.py # new file: Messageapp/views.py # new file: Ujixyapp/__init__.py [...] jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git remote add origin https://github.com/PEREYO/Ujixy.git jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git pull origin master remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. From https://github.com/PEREYO/Ujixy * branch master -> FETCH_HEAD jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git push origin master Username for 'https://github.com': PEREYO Password for 'https://PEREYO@github.com': Everything up-to-date jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git init Reinitialized existing Git repository in /home/jesus/Escritorio/Django/Ujixy/.git/ jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git add * jesus@jesus-K52F:~/Escritorio/Django/Ujixy$ git status # On branch master nothing to commit (working directory clean)
现在我正在尝试修复下一步:
jesus@jesus-K52F:~/Escritorio/Ujixy$ git fsck --lost-found Checking object directories: 100% (256/256), done. dangling tree bfe11a30d57a0233d3b0c840a3b66f6421987304 jesus@jesus-K52F:~/Escritorio/Ujixy$ git status # On branch master nothing to commit (working directory clean) jesus@jesus-K52F:~/Escritorio/Ujixy$ git reflog 61daa69 HEAD@{0}: initial pull jesus@jesus-K52F:~/Escritorio/Ujixy$ git cat-file -p bfe11a30d57a0233d3b0c840a3b66f6421987304 040000 tree 9196501a346cfe4347f46d82936745b78b0235b9 Catalogoapp 040000 tree 49561b4bd6adb8fe8bb1915d6bef09cd49195a97 Messageapp 040000 tree 0fb58bf9b56397443fb235e2a38045d6df7cd473 Ujixyapp 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 __init__.py 100644 blob dfe3388ddf2d5ba34559eb3ec56199d83cdce8bd __init__.pyc 100644 blob bcdd55e27be9447bf6b224b8ba0cbc6802509862 manage.py 100644 blob 34c5978d8026844038d530b491828398bc3ea6c7 settings.py 100644 blob 167a6b1965426ec30c25535fe27338b61b2ae0cf settings.pyc 100644 blob 4a7215cb90ae95d64ca30fde1c1277e0155eb4ed urls.py 100644 blob 6eedcddafbc8854f70f44181edac8e63781cfb09 urls.pyc
但是,如何恢复包含所有文件和文件夹的目录?现在我正在使用.git文件夹的副本以避免其他问题.
由于您已经有一个悬垂的树对象的引用,所以你很顺利.以下应该可行:首先将悬空树恢复为Git索引:
git read-tree bfe11a30d57a0233d3b0c840a3b66f6421987304
接下来,从现在恢复的索引更新您的工作目录:
git checkout-index -a