Tôi biết rằng có những câu hỏi như this, nhưng đó không phải là những gì tôi yêu cầu."git checkout tag-name" vs "git reset --hard tag name"
tôi cũng biết rằng:
git checkout tag-name
:
- tách bạn khỏi các chi nhánh. (Ví dụ: di chuyển con trỏ
HEAD
, giữBRANCH
con trỏ)
git reset --hard tag-name
:
- Không tách bạn khỏi các chi nhánh, nhưng làm cho các cam kết trước đó để trở thành "lủng lẳng". (Ví dụ: di chuyển cả
HEAD
vàBRANCH
con trỏ)
Tôi tự hỏi cái nào ý nghĩa hơn cho cập nhật lên một thẻ, ví dụ nên một sản xuất được reseted hoặc kiểm tra ra. Tôi biết rằng một nhà sưu tập rác có thể chạy, loại bỏ cam kết lơ lửng, nhưng sau đó một lần nữa, nếu sản xuất luôn luôn "kéo" trước khi quá trình cập nhật vào một thẻ, tôi thấy không có gì xấu ở đó.
Bản cập nhật sản xuất có nên gắn thẻ với reset
hoặc checkout
, xem xét rằng pull
luôn được thực hiện trước cuộc gọi cập nhật này không?