Изменить сообщение последнего коммита

Beginner

This tutorial is from open-source community. Access the source code

Введение

Git - это мощная система контроля версий, которая позволяет разработчикам отслеживать изменения в их кодовой базе. Одной из ключевых функций Git является возможность изменять историю коммитов. В этом лабе вы научитесь изменять сообщение последнего коммита без изменения его содержимого.

Изменить сообщение последнего коммита

Представьте, что вы только что зафиксировали некоторые изменения в своем репозитории Git, но обнаружили опечатку в сообщении коммита. Вы хотите исправить ошибку, не меняя фактические изменения, которые вы внесли. Как это можно сделать?

Для демонстрации того, как изменить сообщение последнего коммита, давайте используем репозиторий из https://github.com/labex-labs/git-playground. Следуйте шагам:

  1. Склоняйте репозиторий, перейдите в каталог и настройте идентификацию:
    git clone https://github.com/labex-labs/git-playground
    cd git-playground
    git config --global user.name "your-username"
    git config --global user.email "your-email"
    
  2. Исправьте сообщение коммита последнего коммита, чтобы оно было "Fix the network bug":
    git commit --amend -m "Fix the network bug"
    
    Это откроет ваш стандартный текстовый редактор, где вы сможете изменить сообщение коммита. Сохраните и закройте редактор, чтобы завершить процесс.
  3. Проверьте, изменилось ли сообщение коммита:
    git log --oneline
    

В логе вы должны увидеть обновленное сообщение коммита:

54b830b (HEAD -> master) Fix the network bug
cf80005 Added file1.txt
b00b937 Initial commit

Резюме

В этом лабе вы узнали, как изменить сообщение последнего коммита без изменения его содержимого с помощью команды git commit --amend -m <message>. Это может быть полезно, когда вам нужно исправить ошибку в сообщении коммита или дать больше контекста о внесенных изменениях. Помните, используйте эту команду с осторожностью, так как она может изменить историю коммитов и потенциально вызвать проблемы для других разработчиков, работающих в одном репозитории.