Как это возможно восстановить. git, не меняя никаких файлов в папке проекта? - PullRequest
2 голосов
/ 28 апреля 2020

Один из наших разработчиков только что скачал наш репозиторий с github в формате zip (без каталога .git). Он внес в него много изменений и хочет загрузить его обратно.

Я бы хотел разрешить эту ситуацию, восстановив папку .git, но я понятия не имею, как это сделать правильно. В основном я просто вызывал git pu sh, pull, commit и ничего более сложного.

Я мог бы клонировать репозиторий в отдельный каталог и скопировать оттуда папку .git в рабочий каталог, но мне это кажется неправильным.

1 Ответ

2 голосов
/ 28 апреля 2020

Процедура довольно проста, но поскольку вам или кому-то придется выполнять все шаги, которые пропустил ваш коллега, вы или он (и) не экономите время, делая это таким образом.

Так что мой # Вот один совет: Научите коллегу правильно использовать git.

Теперь вот как спасти ситуацию

  1. Хватайте клон репозитория.

    Вы можете использовать существующий, но у вас должна быть свобода проверять ветки и т. д., если необходимо, сделать клон fre sh)

  2. При необходимости проверьте коммит, загруженный вашим коллегой.

    Это важно, чтобы убедиться, что его / ее изменения не удалят изменения, сделанные другими. Это может быть трудно понять, и это одна из причин, почему ваш коллега должен знать, как использовать git, чтобы избежать этого беспорядка в будущем. Я говорю «при необходимости», потому что после загрузки не может быть новых коммитов в репозитории, но если они есть, вы должны проверить правильный коммит.

  3. Создайте и извлеките новую ветку при этом коммите.

    Мы сделаем новый коммит с файлами из zip-файла, и все станет намного проще, если вы сможете создать ветку и, вероятно, сделать также запрос на вытягивание.

  4. Примените zip-файл поверх рабочей папки.

    Важно не только перезаписывать файлы в рабочей папке файлами из ZIP-файл, но также, чтобы убедиться, что любые переименования, перемещения, удаления, применяются правильно. Если необходимо, используйте инструмент сравнения каталогов, чтобы убедиться, что вы применили все изменения.

    «Pro tip»: Если ваш коллега может точно помнить, какие файлы были изменены, этот шаг становится большим проще.

    Быстрое исправление: Если zip-файл завершен, вы можете просто удалить все файлы в рабочей папке и затем распаковать zip-файл в нее. Git не будет знать разницу между "старыми" и "новыми" файлами, если они не изменились.

  5. Добавить и зафиксировать изменения.
  6. Объедините ветку в "что угодно", в соответствии с вашими правилами и процессом.

    Вероятно, неплохо было бы создать запрос на извлечение и попросить вашего коллегу убедиться, что все изменения были применены правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...