• Час читання ~1 хв
  • 04.03.2024
Git Revert Commit – How to Undo the Last Commit

Скажімо, ви працюєте над своїм кодом у 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.

A diagram showing that the git revert command creates a new commit to revert previous changes.
In this image, each circe represents a commit.

Команда reset

Ви також можете скористатися цією командоюreset, щоб скасувати ваш останній коміт. Але будьте обережні – це змінить історію комітів, тому вам слід використовувати його рідко. Він пересуне HEAD, робочу гілку, до вказаного коміту, і відкине будь-що після:

git reset --soft HEAD~1

Опція --soft означає, що ви не втратите незафіксовані зміни, які у вас можуть бути.

A diagram showing that git reset --soft will change your commit history, but will keep any unstaged changes you have.
In this image, each circle represents a commit.

Якщо ви хочете скинути до останнього коміту, а також вилучити всі неіндексовані зміни, ви можете скористатися --hard опцією:

git reset --hard HEAD~1

Це скасує останній коміт, а також будь-які незафіксовані зміни.

A diagram showing that git reset --hard will change your commit history, but will also remove any unstaged changes you have.
In this image, each circle represents a commit.

Чи варто використовувати чи 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.

Висновок

: Ви дізналися про два способи скасувати останній коміт, а також про те, коли краще використовувати один замість іншого.

Тепер, якщо ви помітили, що ваш останній коміт вносить помилку або не повинен був бути виправлений, ви знаєте, як це виправити!

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297