Junior
Чӣ гуна метавон охирин коммитро дар системаи назорати версияҳо бекор кард?
sobes.tech AI
Ҷавоб аз AI
Ҳангоми истифодаи Git, чанд роҳ мавҷуд аст:
1. Бекор кардани охирин коммит бо нигоҳ доштани тағирот:
git reset --soft HEAD~1
# Охирин коммитро бекор мекунад, тағирот дар индекс боқӣ мемонанд
# Феҳристи корӣ тағир намеёбад
2. Бекор кардани охирин коммит, бекор кардани тағирот дар индекс, аммо нигоҳ доштани тағиротҳои корӣ:
git reset --mixed HEAD~1
# Охирин коммитро бекор мекунад ва индекс кардани тағиротҳоро хориҷ мекунад
# Феҳристи корӣ тағир намеёбад
3. Бекор кардани пурра охирин коммит, аз ҷумла тағирот:
git reset --hard HEAD~1
# Охирин коммитро пурра бекор мекунад
# Тағирот дар индекс ва феҳристи корӣ ба ҳолати пеш аз охирин коммит бармегарданд
# Ҳама тағиротҳои номуайян дар феҳристи корӣ нобуд мешаванд
4. Эҷод кардани коммити нав, ки тағиротҳои охиринро бекор мекунад:
git revert HEAD
# Эҷод кардани коммити нав, ки тағиротҳои охиринро бекор мекунад
# Тарих нигоҳ дошта мешавад, ин роҳи бехатар дар кор бо шохаҳои умумӣ аст
Интихоб ба натиҷаи дилхоҳ ва оё шоха нашр шудааст ё не, вобаста аст. --hard бояд бо эҳтиёт истифода шавад, зеро метавонад ба талафоти маълумот оварда расонад. git revert дар ҳолати кор бо шохаҳое, ки дигарон истифода мебаранд, беҳтар аст.