Git: змінення наявного повідомлення коміту

Помилки поширені, ми всі їх робимо. Тому на олівці ставлять гумки. І це не відрізняється від таких інструментів, як Git. Хоча деякі зміни важко скасувати, зазвичай є спосіб.

То що, якщо ви хочете змінити існуюче повідомлення коміту? На щастя, це легко зробити в Git, але метод може дещо змінитися залежно від деяких факторів.

Виправлення останнього коміту, ще не переданого на віддалений пристрій

Це найпростіший випадок, оскільки немає необхідності змінювати віддалений репозиторій, вам просто потрібно змінити свій власний. У цьому випадку ви можете скористатися такою командою:

$ git commit --amend

Виконання цієї команди відкриє редактор, де ви зможете змінити останній зафіксувати повідомлення. Коли ви закінчите та збережете/закриєте редактор, повідомлення про фіксацію буде змінено.

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

$ git commit --amend -m "Added a new file"

Якщо зробити це таким чином, редактор не відкриється, а натомість одразу зміниться повідомлення коміту.

Виправлено останню фіксацію, передано на віддалений пристрій

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

Першим кроком є ​​внесення змін до останнього коміту, як ми робили в попередньому розділі:

$ git commit --amend -m "Added a new file"

Потім вам потрібно надіслати ці зміни до віддаленого сховища. Однак це необхідно робити за допомогою --force прапор

$ git push <remote> <branch> --force

Нам потрібно зробити це таким чином, щоб перезаписати віддалений репозиторій нашим власним локальним станом.

Майте на увазі, що, форсуючи поштовх, ви також втрачати будь-які коміти в локальній гілці, яких ще немає у вашій локальній гілці. Будьте обережні!

Ознайомтеся з нашим практичним практичним посібником із вивчення Git з передовими методами, прийнятими в галузі стандартами та включеною шпаргалкою. Припиніть гуглити команди Git і фактично вчитися це!

Якщо ви зможете досить швидко вловити помилку, внести зміни не буде проблемою. В іншому випадку вам може знадобитися знайти інше рішення, щоб уникнути втрати будь-яких змін, внесених після повідомлення про фіксацію, яке ви хочете змінити.

Використовуйте Interactive Rebase

Іншим варіантом, який є більш гнучким, ніж описані попередні рішення, є використання інтерактивного перебазування. Це дозволить вам перевірити останні N комітів і внести в них зміни, включаючи вибір, сквош тощо.

Щоб почати перебазування, ви можете використати таку команду:

$ git rebase -i HEAD~n

Тут, n це кількість комітів, які ви хочете перевірити та відредагувати. Потім ви побачите список комітів, подібний до цього:

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















Як ви можете бачити, усі останні N комітів перераховані, і ви можете змінювати їхні повідомлення за потреби.

Часова мітка:

Більше від Stackabuse