Я написав неправильну річ у повідомленні про вчинення.
Як я можу змінити повідомлення? Комісія ще не була висунута.
Я написав неправильну річ у повідомленні про вчинення.
Як я можу змінити повідомлення? Комісія ще не була висунута.
Відповіді:
git commit --amend
відкриє ваш редактор, що дозволить вам змінити повідомлення про фіксацію останньої комісії. Крім того, ви можете встановити повідомлення про фіксацію безпосередньо в командному рядку за допомогою:
git commit --amend -m "New commit message"
... однак це може зробити багаторядкові повідомлення про введення або невеликі виправлення більш громіздкими для введення.
Переконайтеся , що у вас немає яких - або змін в оборотному копії поставив перед цим або вони отримають вчинені теж. ( Нестандартні зміни не будуть здійснені.)
Якщо ви вже підштовхнули свою комісію до віддаленої гілки, то - після внесення змін до місцевого комітету (як описано вище) - вам також потрібно буде змусити натиснути комісію за допомогою:
git push <remote> <branch> --force
# Or
git push <remote> <branch> -f
Попередження: натискання силою замінить віддалену гілку зі станом вашого локального . Якщо є фіксації на віддаленому філії , що ви не маєте в вашому місцевому відділенні, ви будете втрачати ці коммітов.
Попередження: будьте обережні щодо внесення змін до зобов’язань, якими ви вже поділилися з іншими людьми. Зміни комісій по суті переписують їх на різні ідентифікатори SHA , що створює проблему, якщо інші люди мають копії старої комісії, яку ви переписали. Кожен, хто має копію старої фіксації, повинен синхронізувати свою роботу з вашим нещодавно переписаним комітетом, що іноді може бути важким, тому обов'язково координуйтеся з іншими при спробі переписати спільну історію фіксації або просто уникайте перезапису спільних комісій. взагалі.
Інший варіант - використовувати інтерактивну базу даних. Це дозволяє редагувати будь-яке повідомлення, яке ви хочете оновити, навіть якщо це не останнє повідомлення.
Для того, щоб зробити сквот Git, виконайте наступні дії:
// n is the number of commits up to the last commit you want to be able to edit
git rebase -i HEAD~n
Після того, як ви скорочуєте свої зобов’язання - виберіть e/r
для редагування повідомлення:
При використанні git rebase -i HEAD~n
їх може бути більше n комісій. Git буде "збирати" всі коміти в останніх n комісіях, і якщо відбулося злиття десь між цим діапазоном, ви також побачите всі коміти, тож результат буде n +.
Якщо вам доведеться це робити для більше ніж однієї гілки, і ви можете зіткнутися з конфліктами під час внесення змін до вмісту, налаштуйте git rerere
та дозвольте Git автоматично вирішувати ці конфлікти за вас.
git commit --amend
хіба не такий потужний, як git rebase -i
.
git commit --amend
можна зафіксувати (a?) Головний коміт.
git push -f origin branchname
git push -f
є дещо небезпечним, якщо інші люди використовують те саме сховище?
git commit --amend -c HEAD
. Це відкриє редактор, попередньо заповнений вашим старим повідомленням фіксації, так що ви можете змінити його.
git commit --amend -m "your new message"
Якщо комісія, яку ви хочете виправити, не є останньою:
git rebase --interactive $parent_of_flawed_commit
Якщо ви хочете виправити кілька недолікових комісій, передайте батьків найстарішого з них.
З'явиться редактор із переліком усіх комісій з тих, що ви надали.
pick
на reword
(або на старі версії Git, на edit
) перед будь-якими комісіями, які ви хочете виправити.Щоразу, коли ви хочете змінити слово , Git поверне вас до свого редактора. За кожне зобов’язання, яке ви хочете відредагувати , Git скидає вас у оболонку. Якщо ви в оболонці:
git commit --amend
git rebase --continue
Більшість цієї послідовності буде пояснено вам результатами різних команд під час руху. Це дуже просто; вам не потрібно запам'ятовувати це - просто пам’ятайте, що git rebase --interactive
дозволяє виправляти вчинки незалежно від того, як давно вони були.
Зауважте, що ви не хочете змінювати коміти, які ви вже натиснули. Або, можливо, ви так робите, але в такому випадку вам доведеться дуже обережно спілкуватися з усіма, хто, можливо, взяв на себе ваші зобов’язання та зробив роботу над ними. Як відновити / відновити синхронізацію після того, як хтось натисне ребазу чи скидання до опублікованої гілки?
reword
замість pick
редагування повідомлення журналу.
$parent_of_flawed_commit
рівнозначно $flawed_commit^
.
-p
( --preserve-merges
), якщо відбулося злиття після несправної фіксації.
Щоб внести зміни до попереднього зобов’язання, зробіть потрібні зміни та сформулюйте ці зміни та запустіть
git commit --amend
Це відкриє файл у вашому текстовому редакторі, що представляє ваше нове повідомлення про фіксацію. Він починається із заповнення тексту зі старого повідомлення про фіксацію. Змініть повідомлення про фіксацію за своїм бажанням, а потім збережіть файл та закрийте редактор, щоб закінчити.
Щоб змінити попередню комісію та зберегти те саме повідомлення журналу, запустіть
git commit --amend -C HEAD
Щоб виправити попередній комітет, видаливши його повністю, запустіть
git reset --hard HEAD^
Якщо ви хочете відредагувати більше одного повідомлення про фіксацію, запустіть
git rebase -i HEAD~commit_count
(Замініть команду_облік на кількість комісій, які ви хочете відредагувати.) Ця команда запускає ваш редактор. Позначте першу комісію (ту, яку ви хочете змінити) як "редагувати" замість "вибору", а потім збережіть і вийдіть із редактора. Зробіть зміни, які ви хочете зробити, а потім запустіть
git commit --amend
git rebase --continue
Примітка. Ви також можете "Зробити потрібні зміни" в редакторі, відкритому користувачем git commit --amend
git rebase -i HEAD~commit_count
також дозволить вам змінювати повідомлення про фіксацію, скільки завгодно вибраних вами зобов’язань. Просто позначте вибрані доручення як "reword", а не "pick".
git reset --hard
знищує неспроможні зміни. Будь ласка, замініть --hard
на --soft
.
git reset --hard
це цілком законна команда, але вона вводить в оману з огляду на питання. Ви використовуєте, --hard
якщо ви здійснили зміни, які хочете викинути, а не якщо ви зробили помилковий друк у повідомленні про вчинення!
Як уже згадувалося, git commit --amend
це спосіб перезаписати останню команду. Одне зауваження: якщо ви хочете також перезаписати файли , команда буде
git commit -a --amend -m "My new commit message"
git add file.ext
простоgit commit --amend
Ви також можете використовувати git filter-branch
для цього.
git filter-branch -f --msg-filter "sed 's/errror/error/'" $flawed_commit..HEAD
Це не так просто, як тривіальне git commit --amend
, але особливо корисно, якщо у вас вже є кілька злиття після вашого помилкового повідомлення про фіксацію.
Зауважте, що це спробує переписати кожну комісію між HEAD
та недосконалою комісією, тому вам слід msg-filter
дуже обережно вибрати команду ;-)
$flawed_commit^..HEAD
, ні $flawed_commit..HEAD
. як зазначено на сторінці man: « Команда перепише лише позитивні рефлекси, згадані в командному рядку (наприклад, якщо ви передасте a..b, буде переписано лише b). »
Я віддаю перевагу таким чином:
git commit --amend -c <commit ID>
В іншому випадку буде новий комітет з новим посвідченням комісії.
-c
Робить кілька речей. За умовчанням воно використовує старе повідомлення, але також копіює інформацію про авторство (особу та час). -C
робить те саме, за винятком того, що він не просить вас редагувати повідомлення.
fatal: Option -m cannot be combined with -c/-C/-F/--fixup.
Якщо ви використовуєте інструмент Git GUI, є кнопка під назвою Змінити останню фіксацію . Натисніть на цю кнопку, і тоді вона відобразить ваші останні файли фіксування та повідомлення. Просто відредагуйте це повідомлення, і ви можете скористатись новим повідомленням про фіксацію.
Або скористайтеся цією командою з консолі / терміналу:
git commit -a --amend -m "My new commit message"
Можна використовувати ритм Git . Наприклад, якщо ви хочете змінити назад, щоб зробити bbc643cd, запустіть
$ git rebase bbc643cd^ --interactive
У редакторі за замовчуванням змініть "pick" на "редагувати" у рядку, чиє зобов'язання ви хочете змінити. Внесіть зміни, а потім сформулюйте їх
$ git add <filepattern>
Тепер ви можете використовувати
$ git commit --amend
щоб змінити комісію, і після цього
$ git rebase --continue
щоб повернутися до попереднього головного комітету.
git commit --amend
вплинула, ви можете використовувати git show
її, і на ній з’явиться нове повідомлення.
Якщо ви хочете лише змінити останнє повідомлення про фіксацію, виконайте такі дії:
git commit --amend
Це введе вас у ваш текстовий редактор і дозволить вам змінити останнє повідомлення про фіксацію.
Якщо ви хочете змінити останні три повідомлення фіксації, або будь-який з повідомлення фіксації до цього моменту, поставки HEAD~3
в git rebase -i
команді:
git rebase -i HEAD~3
git commit --amend
, і він також говорить , що ви можете використовувати git rebase -i HEAD~commit_count
всі , що ви зробили в плагін 3
для commit_count
.
Якщо вам доведеться змінити старе повідомлення про фіксацію в декількох гілках (тобто фіксація з помилковим повідомленням присутня в декількох гілках), ви можете скористатися:
git filter-branch -f --msg-filter \
'sed "s/<old message>/<new message>/g"' -- --all
Git створить тимчасовий каталог для переписування та додаткового резервного копіювання старих посилань у refs/original/
.
-f
буде примусово виконувати операцію. Це необхідно, якщо тимчасовий каталог вже присутній або якщо в ньому вже є посилання refs/original
. Якщо це не так, ви можете скинути цей прапор.
--
відокремлює параметри гілки фільтра від параметрів редагування.
--all
переконається, що всі гілки та теги будуть переписані.
Завдяки резервній копії ваших старих посилань, ви можете легко повернутися до стану перед виконанням команди.
Скажімо, ви хочете відновити свого господаря і отримати доступ до нього у філії old_master
:
git checkout -b old_master refs/original/refs/heads/master
git commit --amend
для виправлення коментарів або додавання файлів, про які я забув git add
, але лише раніше, ніж я git push
редагував. Я також використовую, git filter-branch
коли я хочу повністю заплутатися з історією версій, але ОП не хоче цього, тому ця відповідь потребує великого попередження про здоров'я - не намагайтеся цього вдома, заглядає !!
Використовуйте
git commit --amend
Щоб його детально зрозуміти, чудовий пост - 4. Переписування історії Git . Це також говорить про те, коли не використовувати git commit --amend
.
git commit --amend
Відповідь вже була дана ( в кілька разів) , перш ніж ви написали ваші. Чому ви опублікували це знову? Якщо ви хочете додати посилання на "Перезапис історії Git", ви могли відредагувати одну з існуючих відповідей або залишити коментар.
Тут у вас є пара варіантів. Ви можете зробити
git commit --amend
до тих пір, поки це ваше останнє зобов'язання.
В іншому випадку, якщо це не ваша остання фіксація, ви можете зробити інтерактивну базу даних,
git rebase -i [branched_from] [hash before commit]
Тоді всередині інтерактивної бази ви просто додаєте редагування до цього файлу. Коли воно з'являється, зробіть git commit --amend
і змініть повідомлення про фіксацію. Якщо ви хочете відкотитись перед цим пунктом фіксації, ви можете також скористатися git reflog
і просто видалити це. Тоді ти git commit
знову робиш знову.
Якщо це ваше останнє зобов'язання, просто внесіть зміни :
git commit --amend -o -m "New commit message"
(Використовуючи прапор -o
( --only
), щоб переконатися, що ви змінюєте лише повідомлення про фіксацію)
Якщо це закопаний документ, використовуйте дивовижну інтерактивну базу даних :
git rebase -i @~9 # Show the last 9 commits in a text editor
Знайдіть потрібну фіксацію, змініть pick
на r
( reword
) і збережіть і закрийте файл. Готово!
Мініатюрний підручник Vim (або, як перезавантажити лише 8 клавіш 3j
cw
r
EscZZ
):
vimtutor
якщо у вас є часh
j
k
l
відповідають клавішам руху ←↓↑→3j
рухається вниз по трьох рядкахi
для переходу в режим вставки - текст, який ви вводите, з’явиться у файліc
вийти з режиму вставки та повернутися до «нормального» режимуu
скасуватиr
переробитиdd
, dw
, dl
Щоб видалити рядок, слово або букву, відповідноcc
, cw
, cl
Щоб змінити рядок, слово або букву, відповідно ( так само , як dd
i
)yy
, yw
, yl
Копіювати ( «смикнув») лінію, слово або букву, відповідноp
або P
вставити відповідно після або перед поточним положенням відповідно:w
Enter зберегти (записати) файл:q!
Enter кинути без економії:wq
Enterабо ZZ
зберегти і кинутиЯкщо ви багато редагуєте текст, перейдіть на розкладку клавіатури Dvorak , навчіться набирати сенсорний тип та вивчити Vim. Чи варто докладати зусиль? Так.
ProTip ™: не бійтеся експериментувати з "небезпечними" командами, які переписують історію * - Git не видаляє ваші зобов'язання протягом 90 днів за замовчуванням; ви можете знайти їх у рефлозі:
$ git reset @~3 # Go back three commits
$ git reflog
c4f708b HEAD@{0}: reset: moving to @~3
2c52489 HEAD@{1}: commit: more changes
4a5246d HEAD@{2}: commit: make important changes
e8571e4 HEAD@{3}: commit: make some changes
... earlier commits ...
$ git reset 2c52489
... and you're back where you started
* Слідкуйте за такими варіантами, як --hard
і --force
хоча - вони можуть відкинути дані.
* Також не переписуйте історію на жодних гілках, над якими ви співпрацюєте.
nano
? Ми говоримо про тривіальні модифікації, які потрібно вносити в текстовий файл, а не на жорстке кодування, яке породжувало б вогняну війну щодо «найкращого» редактора тексту.
ddjjpZZ
рухає команду 2 вниз. Немає нічого загадкового в базових знаннях Vim; знадобиться 10 хвилин, щоб з Vim стало комфортніше, ніж нано.
Якщо ви використовуєте графічний інтерфейс Git, ви можете внести зміни до останнього комітету, на який не було натискано:
Commit/Amend Last Commit
Я максимально використовую графічний інтерфейс Git , і це дає вам можливість вносити зміни до останнього комітету:
Крім того, git rebase -i origin/master
це приємна мантра, яка завжди буде представляти вам зобов’язання, які ви зробили поверх майстра, і дасть вам можливість вносити зміни, видалення, переупорядкування або скрінш. Не потрібно спочатку захоплюватися цим хешем.
Нічого собі, тому існує маса способів зробити це.
Ще один спосіб зробити це - видалити останню комісію, але збережіть її зміни, щоб ви не втратили роботу. Потім ви можете зробити ще одну фіксацію з виправленим повідомленням. Це виглядатиме приблизно так:
git reset --soft HEAD~1
git commit -m 'New and corrected commit message'
Я завжди роблю це, якщо забуду додати файл або внести зміни.
Не забудьте вказати --soft
замість --hard
, інакше ви повністю втратите ці зобов'язання.
git commit --amend
за винятком того, що це двоетапний процес.
--amend
збереже інформацію про автора, але питання запитує лише змінити повідомлення.
Для всіх, хто шукає графічний інтерфейс Windows / Mac, щоб допомогти в редагуванні старих повідомлень (тобто не тільки останнього повідомлення), я рекомендую Sourcetree . Нижче описані кроки.
Для комітетів, які ще не були висунуті на пульт:
Unable to create 'project_path/.git/index.lock': File exists.
при спробі змінити кілька повідомлень про фіксацію одночасно. Не точно знаєте, у чому полягає проблема, чи буде вона виправлена в майбутній версії Sourcetree, але якщо це станеться, рекомендую їх повторно опускати (повільніше, але здається більш надійним).... Або ... для комітетів, які вже були натиснуті:
Виконайте кроки в цій відповіді , які схожі на вище, але вимагають виконання наступної команди з командного рядка ( git push origin <branch> -f
) для примусового натискання гілки. Я рекомендую прочитати все це і дотримуватися необхідної обережності!
Якщо ви просто хочете відредагувати останню комісію, скористайтеся:
git commit --amend
або
git commit --amend -m 'one line message'
Але якщо ви хочете відредагувати кілька комісій підряд, замість цього слід скористатися перезаписом:
git rebase -i <hash of one commit before the wrong commit>
У файл, як у наведеному вище, запишіть edit/e
або один із інших параметрів, натисніть зберегти та вийти.
Тепер ви будете на першому неправильному здійсненні. Внесіть зміни у файли, і вони будуть автоматично встановлені для вас. Тип
git commit --amend
Збережіть і вийдіть із цього і введіть
git rebase --continue
щоб перейти до наступного вибору до тих пір, поки не буде завершено всі ваші вибори.
Зауважте, що ці речі змінюють всі ваші хеші SHA після цього конкретного введення.
Якщо ви хочете змінити лише своє останнє повідомлення, вам слід використовувати --only
прапор або його ярлик -o
із commit --amend
:
git commit --amend -o -m "New commit message"
Це гарантує, що ви не випадково посилите свої зобов’язання поетапними речами. Звичайно, найкраще мати правильну $EDITOR
конфігурацію. Тоді ви можете залишити -m
варіант, і Git попередньо заповнить повідомлення про фіксацію старим. Таким чином його можна легко редагувати.
git commit --amend
. Питання було дуже конкретним, тому довше! = Краще. Вирішальна згадка -o
прапора, ймовірно, буде похована в решті інформації. Мені також не комфортно редагувати відповідь, в якій вже так багато голосів.
--only
опція з --amend
доступна, оскільки git 1.3.0 не працює належним чином, поки вона не була зафіксована у 1.7.11.3 ( ea2d4ed35902ce15959965ab86d80527731a177c ). Таким чином, правильна відповідь ще в 2008 році, ймовірно, було що - щось на кшталт: git stash; git commit --amend; git stash pop
.
Оновіть своє останнє повідомлення про неправильну фіксацію новим повідомленням про фіксацію в одному рядку:
git commit --amend -m "your new commit message"
Або спробуйте скинути Git, як показано нижче:
# You can reset your head to n number of commit
# NOT a good idea for changing last commit message,
# but you can get an idea to split commit into multiple commits
git reset --soft HEAD^
# It will reset you last commit. Now, you
# can re-commit it with new commit message.
git reset
може також допомогти вам розбити один комітет на кілька комісій:
# Reset your head. I am resetting to last commits:
git reset --soft HEAD^
# (You can reset multiple commit by doing HEAD~2(no. of commits)
# Now, reset your head for splitting it to multiple commits
git reset HEAD
# Add and commit your files separately to make multiple commits: e.g
git add app/
git commit -m "add all files in app directory"
git add config/
git commit -m "add all files in config directory"
Тут ви успішно розбили свій останній документ на два коміти.
git commit --amend
, точно так само як , як він каже , в верхній проголосували відповідь . Крім того, git reset --soft HEAD^
в цьому попередньому відповіді працює ідентично м'якому скиданню , оскільки вони обидва скидаються до першого батьківського комітету.
git reset
до рішення лише те, щоб дати ідею розділити одне повідомлення про фіксацію на кілька повідомлень про фіксацію. Тому що я зіткнувся з цією проблемою, коли я починав використовувати git
. Іноді це може бути справді корисним. :)
На це питання є багато відповідей, але жоден з них не пояснює дуже докладно, як змінити старі повідомлення про фіксацію за допомогою Vim . Я застряг у спробах зробити це сам, тому тут докладно напишу, як я це робив спеціально для людей, які не мають досвіду роботи у Vim!
Я хотів змінити свої п'ять останніх зобов’язань, які я вже натиснув на сервер. Це досить "небезпечно", оскільки якщо хтось із них уже вийшов із цього, ви можете зіпсувати речі, змінивши повідомлення про фіксацію. Однак, коли ви працюєте над власною маленькою гілкою і впевнені, що її ніхто не потягнув, ви можете змінити її так:
Скажімо, ви хочете змінити свої п'ять останніх комісій, а потім введіть це в терміналі:
git rebase -i HEAD~5
* Де 5 - кількість повідомлень про фіксацію, яку ви хочете змінити (тому, якщо ви хочете змінити 10-те на останнє виконання, введіть 10).
Ця команда переведе вас у Vim, там ви зможете "відредагувати" свою історію комісій. Угорі ви побачите свої останні п’ять комісій:
pick <commit hash> commit message
Замість цього pick
потрібно писати reword
. Це можна зробити у Vim, ввівши текст i
. Це змушує вас зайти в режим вставки . (Ви бачите, що ви перебуваєте у режимі вставки за допомогою слова INSERT внизу.) Для комісій, які ви хочете змінити, введіть reword
замість pick
.
Тоді вам потрібно зберегти та закрити цей екран. Виконайте це, спочатку перейшовши в «командний режим» натисканням Escкнопки (ви можете перевірити, чи перебуваєте ви в командному режимі, якщо слово INSERT внизу зникло). Потім ви можете ввести команду, ввівши :
. Команда зберегти та вийти - це wq
. Тож якщо ви введете, :wq
ви на правильному шляху.
Тоді Vim перегляне кожне повідомлення про фіксацію, яке потрібно переробити, і тут ви можете фактично змінити повідомлення про фіксацію. Ви зробите це, перейшовши в режим вставки, змінивши повідомлення про фіксацію, перейдіть в командний режим, а також збережіть і вийдіть. Зробіть це п’ять разів, і ви поза Вімом!
Потім, якщо ви вже підштовхнули свої помилкові зобов’язання, вам потрібно git push --force
їх перезаписати. Пам’ятайте, що git push --force
це досить небезпечно, тому переконайтеся, що ніхто не витягував з сервера, оскільки ви пересунули свої неправильні зобов’язання!
Тепер ви змінили свої повідомлення про фіксацію!
(Як бачите, я не такий досвід у Vim, тож якщо я використав неправильне "лінго", щоб пояснити, що відбувається, сміливо виправляйте мене!)
<nitpick>
У Stack Overflow немає "потоків", оскільки це не дискусійний форум, є лише "питання", "відповіді" та "повідомлення". </nitpick>
. Крім того, не всі версії Vim однакові, не всі вони дозволять видаляти символи в режимі вставки (має сенс певним чином, правда?). Якщо ви хочете завжди мати змогу видаляти символи у Vim, X
і x
зробите це (трохи x
видаляє символи перед курсором, X
видалить ззаду). Якщо ви робите помилки, ви можете u
кілька разів використовувати їх для скасування. Нарешті, r
це скорочення reword
в інтерактивному редакторі ребатів.
cw
набирається на початку (хоча питання не про vim, я згоден).
nano
, mcedit Midnight Commander.
Ви можете використовувати git-rebase-reword
Він призначений для редагування будь-яких комісій (не тільки останніх) так само, як і commit --amend
$ git rebase-reword <commit-or-refname>
Він названий після дії на інтерактивну базу даних для внесення змін до комітету: "reword". Дивіться цю публікацію та людину - інтерактивний режим -
Приклади:
$ git rebase-reword b68f560
$ git rebase-reword HEAD^
g c; g rb -i @~9
(виконувати і перезавантажувати), переміщувати нову комісію туди, де я хочу, змінити commit
на f
( fixup
) та зберегти. Якщо ви хотіли чогось швидшого за це, можете створити псевдонім git commit --fixup=<commit>; git rebase -i --autosquash <commit>^
Я додав псевдоніми reci
і recm
для recommit (amend)
цього. Тепер я можу це зробити з git recm
або git recm -m
:
$ vim ~/.gitconfig
[alias]
......
cm = commit
reci = commit --amend
recm = commit --amend
......
Я зрозумів, що я підштовхнув команду з друкарською помилкою. Щоб скасувати, я зробив наступне:
git commit --amend -m "T-1000, advanced prototype"
git push --force
Попередження: примусові натискання змін замінять віддалену гілку з локальною. Переконайтеся, що ви не збираєтеся перезаписувати все, що хочете зберегти. Також будьте обережні щодо примусового натискання зміненої (переписаної) фіксації, якщо хтось ще поділиться з вами відділенням, тому що їм потрібно буде переписати власну історію, якщо у них є стара копія зобов’язання, яку ви тільки що переписали.
Мені подобається використовувати наступне:
git status
git add --all
git commit -am "message goes here about the change"
git pull <origin master>
git push <origin master>
Якщо ви не натиснули код на віддалену гілку ( GitHub / Bitbucket ), ви можете змінити повідомлення про фіксацію в командному рядку, як показано нижче.
git commit --amend -m "Your new message"
Якщо ви працюєте в певній галузі, зробіть це:
git commit --amend -m "BRANCH-NAME: new message"
Якщо ви вже натиснули код з неправильним повідомленням, і вам потрібно бути обережними під час зміни повідомлення. Тобто, коли ви зміните повідомлення про фіксацію та спробуєте його знову натиснути, у вас з’являються проблеми. Щоб зробити його гладким, виконайте ці кроки.
Будь ласка, прочитайте всю мою відповідь, перш ніж це зробити.
git commit --amend -m "BRANCH-NAME : your new message"
git push -f origin BRANCH-NAME # Not a best practice. Read below why?
Важлива примітка. Якщо ви безпосередньо використовуєте натискання на силу, у вас можуть виникнути проблеми з кодом, які інші розробники працюють над тією ж гілкою. Отже, щоб уникнути цих конфліктів, вам потрібно витягнути код із своєї гілки, перш ніж натискати на силу :
git commit --amend -m "BRANCH-NAME : your new message"
git pull origin BRANCH-NAME
git push -f origin BRANCH-NAME
Це найкраща практика при зміні повідомлення про фіксацію, якщо воно вже було натиснуто.