Я развертываю приложение на производственном сервере, запустив git pull на этом производственном сервере.Восстановление старого git checkout при сохранении прикрепленного к ветке
Как часть резервной копии, я думаю об идее просто сохранить текущий хеш-код, а не копировать все файлы. Позже, во время восстановления, я хотел бы восстановить локальную версию репозитория из удаленного источника в сохраненный хеш фиксации. В идеале, он ведет себя так, как если бы я восстановил целое дерево, включая папку .git.
Чтобы сохранить текущий хэш совершить, я имею в виду git log -1 --format=%H
Для восстановления к определенному пересмотру, я отдаю себе отчет в команде git checkout hash
. К сожалению, эта команда отделяет рабочую копию репозитория от ветки.
Есть ли команда или набор команд для восстановления локального репозитория git до состояния, которое оно было ранее (ака прозрачным способом в отношении дальнейших обновлений)? Так git pull
будет обновлять рабочую копию до самой последней фиксации в соответствующей отрасли и обновить головной указатель и т.д.
Как будет обновлять-ref влияет на исходную копию и/или вытягивает дальнейшие обновления из источника? Пожалуйста, проверьте мой комментарий после предложения vonbrad, чего я хочу достичь. – alik
@alik Я процитировал ту часть, которую я собирался затронуть в своем ответе, это было мое намерение дать вам дополнительный инструмент для работы, строго это и ничего. Теперь вы можете восстановить определенную ревизию в резервном репо и переписать ее в ветку. В остальном, не должно быть никакого эффекта на удаленные филиалы, поскольку, конечно, является локальной (отслеживающей) ветвью. –
mockinterface
Спасибо. Мне нужно проверить команду update-ref более глубоко. Вначале пробежать руководство было недостаточно. – alik