#git #tortoisegit
#git #tortoisegit
Вопрос:
Я новичок в git и сделал пару коммитов для локального репозитория. Затем по ошибке я нажал «Вытащить» вместо «Нажать». В конце концов я приступил к очистке своего рабочего стола… Я удалил целый каталог (клон репозитория). После клонирования репозитория с сервера не было ни одного из моих коммитов.
Не могли бы вы сказать мне, пожалуйста, возможно ли восстановить удаленный репозиторий (изменения)? Я использую Windows 7 TortoiseGit.
Заранее спасибо.
Ответ №1:
Вы создаете резервную копию своего локального компьютера? Если нет, то когда вы начнете?
Вот итог: если у вас есть изменения в вашем локальном репозитории, которые вы не отправляете, а затем вы удаляете это репозиторий, тот факт, что ваши изменения были когда-то в системе управления версиями, не может вам помочь.
Комментарии:
1. Да, это локальный компьютер. Я пытался восстановить его с помощью lc-tech filerecovery. Мне это не помогло. Большинство файлов уже были перезаписаны. Я обнаружил, что там есть какой-то кэш git … 🙂 В любом случае, я на 5 часов вернулся к своей работе. Вот почему я предпочитаю svn…
2. @Wtq — Был, но вы его удалили. 🙂
Ответ №2:
Ответ на комментарий:
Я не удивлен, что вы использовали SVN (cvs-isch). Важно, чтобы вы усвоили разницу между фиксацией и commit. В git вы фиксируете только локально и используете механизм push / pull для синхронизации различных репозиториев, которые разошлись друг с другом.
Фиксацию в git можно рассматривать как некоторую форму кэшированной фиксации в SVN, вы ставите свои изменения в очередь для последующей синхронизации. Фактическая синхронизация задерживается. У многих людей на работе все еще возникают проблемы с получением разницы
Оригинальный ответ:
Контроль версий — это не лекарство от глупости 😉 Единственное, что вы можете сделать, это попытаться восстановить данные с жесткого диска, наняв кого-нибудь, кто сможет восстановить потерянные данные.
Комментарии:
1. @Wtq: Если вы уничтожите SVN-репозиторий, это будет точно так же 🙂
2. @KingCrunch — Используя SVN, я отправляю изменения на удаленный сервер, а не на локальный жесткий диск … 🙂
3. @Wtq: Как я уже сказал: если вы уничтожите (удаленный, потому что он всегда удаленный) SVN-репозиторий, он будет точно таким же. Никакой VCS не заменяет резервную копию.
4. Привет, ребята. Пожалуйста, посмотрите мой пересмотренный ответ. Приветствия.
Ответ №3:
Вы зарегистрировались в своем локальном репозитории, а не на сервере. Если вы удалили этот репозиторий, нет способа вернуть коммиты из репозитория, в который вы не совершали коммит. Контроль версий может сделать не так много…
Ответ №4:
Просто чтобы вы знали, в следующий раз вы, вероятно, хотели что-то вроде git reset --hard @{1}
вернуть ваш локальный репозиторий в состояние, в котором он был до случайного извлечения.