Скажімо, ви працюєте над своїм кодом у Git, але щось пішло не так, як планувалося. Отже, тепер вам потрібно скасувати ваш останній коміт. Як ви це робите? Давайте дізнаємося!
Є два можливі способи скасувати ваш останній коміт. Обидва з них ми розглянемо в цій статті.
Команда revert
Команда revert
will create a commit that reverts the changes of the commit being targeted. You can use it to revert the last commit like this:
git revert <commit to revert>
Ви можете знайти ім'я коміту, який хочете скасувати, за допомогою git log
. Перший коміт, який там описаний, є останнім створеним комітом. Далі, ви можете скопіювати звідти буквено-цифрову назву і скористатися нею у командіrevert
.
Команда reset
Ви також можете скористатися цією командоюreset
, щоб скасувати ваш останній коміт. Але будьте обережні – це змінить історію комітів, тому вам слід використовувати його рідко. Він пересуне HEAD, робочу гілку, до вказаного коміту, і відкине будь-що після:
git reset --soft HEAD~1
Опція --soft
означає, що ви не втратите незафіксовані зміни, які у вас можуть бути.
Якщо ви хочете скинути до останнього коміту, а також вилучити всі неіндексовані зміни, ви можете скористатися --hard
опцією:
git reset --hard HEAD~1
Це скасує останній коміт, а також будь-які незафіксовані зміни.
Чи варто використовувати чи reset
revert
в Git?
Ви повинні використовуватиreset
, лише якщо коміт, який скидається, існує лише локально. Ця команда змінює історію комітів і може перезаписувати історію, від якої залежать віддалені члени команди.
revert
instead creates a new commit that undoes the changes, so if the commit to revert has already been pushed to a shared repository, it is best to use revert
as it doesn't overwrite commit history.
Висновок
: Ви дізналися про два способи скасувати останній коміт, а також про те, коли краще використовувати один замість іншого.
Тепер, якщо ви помітили, що ваш останній коміт вносить помилку або не повинен був бути виправлений, ви знаєте, як це виправити!