"Git checkout tag-name" vs "git reset --hard tag-name"

Ich weiß, dass es Fragen gibt wiediese, aber das frage ich nicht.

Ich weiß auch, dass:

git checkout tag-name:

Löst dich vom Ast. (d. h. bewegt sichHEAD Zeiger, hältBRANCH Zeiger)

git reset --hard tag-name:

Trennt Sie nicht von der Branche, sondern macht die vorherigen Festlegungen zum "Schlenker". (d. h. bewegt beideHEAD undBRANCH Zeiger)

Ich frage mich, welches für die Aktualisierung auf ein Tag sinnvoller ist, d. H., Sollte eine Produktion zurückgesetzt oder ausgecheckt werden. Ich weiß, dass ein Garbage Collector möglicherweise ausgeführt wird, um herabhängende Commits zu entfernen, aber wenn die Produktion vor dem Aktualisieren eines Tags immer "gezogen" wird, sehe ich dort nichts Schlechtes.

Sollte eine Produktion ein Update auf ein Tag mitreset odercheckout, wenn man bedenkt, dass apull wird immer vor diesem Update-Aufruf gemacht?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage