Страницы

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

среда, 3 октября 2018 г.

Как сохранить копию проекта в Git'е?

Вот такая ситуация, работаю с Git.
В проекте имплементировал несколько классов которые обрабатывают нотификацию.
Теперь оказалось, что это не нужно. Но я много времени провел над этим и хотел бы оставить себе копию того, что сейчас получилось...
Как можно сохраниться, вырезать все что не нужно, но потом если нужно чтоб можно было вернуться обратно?


Ответ

если внесённые вами изменения останутся в общем хранилище (т.е., история не будет переписана ради удаления ваших изменений), то просто запомните хэш последнего вашего коммита, чтобы позже можно было к нему вернуться:
на «бумажке»; создав указатель на этот коммит (очень «лекговесная» операция — в хранилище будет создан всего один файл размером 41 байт):
либо фиксированный — метку (tag):
$ git tag имя.метки коммит
кстати, пока вы явно не укажете отправить ваши метки в общее хранилище (например, с помощью опций --tags или --all команды push), ваши коллеги и не узнают о их существовании: они будут храниться только в вашей локальной копии хранилища; либо «плавающий» — ветку (branch):
$ git branch имя.ветки коммит
аналогично, пока вы явно не отправите этот указатель в общее хранилище (например, с помощью опции --all команды push, или конкретно упомянув указатель — git push общее.хранилище имя.ветки), ваши коллеги также не узнают о существовании этого указателя. если внесённые вами изменения ещё не отправлены в общее хранилище или будут принудительно удалены из него (методом переписывания истории), вы можете создать ещё одну копию хранилища:
с рабочим каталогом (т.е. со всеми файлами, история которых отслеживается):
$ git clone /путь/к/текущему/хранилищу /путь/к/копии или без рабочего каталога (для экономии места):
$ git clone /путь/к/текущему/хранилищу /путь/к/копии --bare или даже «пакет» (bundle):
$ git bundle create файл.с.пакетом набор.коммитов

а уж как впоследствии можно будет воспользоваться сохранённым указателем или копией хранилища — «тянет» на другой, не менее многословный ответ.

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

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