«git checkout tag-name» vs «git reset --hard tag-name»

Я знаю, что есть такие вопросы, как этот, но я спрашиваю не об этом.

Я также знаю, что:

git checkout tag-name:

  • Отсоединяет вас от ветки. (т.е. перемещает указатель HEAD, сохраняет указатель BRANCH)

git reset --hard tag-name:

  • Не отсоединяет вас от ветки, но делает предыдущий обязуется стать «висячим». (т.е. перемещает оба указателя HEADи BRANCH)

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

Следует ли производить обновление тега с помощью resetили checkout, учитывая, что перед этим вызовом обновления всегда выполняется pull?

17
задан Community 23 May 2017 в 11:46
поделиться