Страницы

Поиск по вопросам

понедельник, 24 февраля 2020 г.

Как восстановить проект имея только папку .git?

#git


Как восстановить проект имея только папку .git?

Размер папки нормальный (не ноль) и git log выводит все коммиты.
    


Ответы

Ответ 1



вы можете резетнуться на коммит (git reset --hard) или сделать git checkout . в корне репозитория - если не закоммитили удаление всех файлов. если закоммитили - вам надо резетнуться на последний коммит (git log) в приведенном примере мы создаем репу, добавляем файл, удаляем, остается только папка .git, восстанавливаемся из нее обоими способами. (до нового коммита и с помощью резета) -user~/temp$ mkdir gtest -user~/temp$ cd gtest -user~/temp/gtest$ git init Initialized empty Git repository in /home/user/temp/gtest/.git/ -user~/temp/gtest (master)$ touch 123 -user~/temp/gtest (master)$ echo 123 > 123 -user~/temp/gtest (master)$ kommit done ## Initial commit on master ?? 123 [master (root-commit) d6089c5] done 1 file changed, 1 insertion(+) create mode 100644 123 -user~/temp/gtest (master)$ rm 123 -user~/temp/gtest (master)$ git status On branch master Changes not staged for commit: (use "git add/rm ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) deleted: 123 no changes added to commit (use "git add" and/or "git commit -a") -user~/temp/gtest (master)$ git checkout . -user~/temp/gtest (master)$ git status On branch master nothing to commit, working directory clean -user~/temp/gtest (master)$ ls 123 -user~/temp/gtest (master)$ git log commit d6089c549be7b2e922f1d1b31960ee34166d1ae6 Author: user <“user@user.com”> Date: Sat Jul 30 2016 +0300 done -user~/temp/gtest (master)$ git reset --hard d6089c549be7b2e922f1d1b31960ee34166d1ae6 HEAD is now at d6089c5 done -user~/temp/gtest (master)$ ls 123 -user~/temp/gtest (master)$ P.S. команда kommit это алиас типа function gitAddAndCommit(){ git status -bs git add . ; git commit -m "$1" --no-verify } alias kommit=gitAddAndCommit P.P.S. (master) в prompt - это имя текущей ветки, что-то в этом духе. Очень удобная штука.

Комментариев нет:

Отправить комментарий