# Изменение сообщения о фиксации

Измените неясные, неправильные или конфиденциальные сообщения фиксации локально и отправлять обновленные фиксации GitHub, включая действия по редактированию последних или старых фиксаций.

## Изменение последнего сообщения о фиксации

Изменение сообщения фиксации создает новый идентификатор фиксации. Если фиксация уже была отправлена, необходимо принудительно отправить журнал перезаписи.

## Фиксация не отправлена на сайт

Если фиксация существует только в локальном репозитории, измените сообщение фиксации локально.

1. В командной строке перейдите к репозиторию, содержащему фиксацию, которую нужно изменить.

2. Введите `git commit --amend` и нажмите клавишу **Enter**.

3. В текстовом редакторе измените сообщение о фиксации и сохраните фиксацию.
   * Чтобы добавить соавтора, добавьте трейлер в фиксацию. См [. раздел AUTOTITLE](/ru/pull-requests/how-tos/commit-changes/creating-a-commit-with-multiple-authors).

   * Чтобы создать фиксации от имени организации, добавьте трейлер в фиксацию. См [. раздел AUTOTITLE](/ru/pull-requests/how-tos/commit-changes/creating-a-commit-with-multiple-authors#creating-a-commit-on-behalf-of-an-organization).

4. Отправьте фиксацию GitHub.comв .

## Изменение более старых или нескольких сообщений о фиксациях

Если вы уже толкнули фиксацию, используйте осторожность перед перезаписи журнала. Принудительное нажатие может нарушить работу сотрудников, основанных на старых фиксациях.

### Изменение сообщения последней принудительной фиксации

1. Выполните действия, описанные в разделе ["Фиксация", не были отправлены в интернет](#commit-has-not-been-pushed-online) , чтобы изменить сообщение фиксации.
2. Принудительное отправка старой фиксации.

   ```shell
   git push --force-with-lease origin EXAMPLE-BRANCH
   ```

### Изменение сообщения старых или нескольких сообщений фиксации

Используйте интерактивную перебазу для изменения старых или нескольких сообщений фиксации.

1. В командной строке перейдите в репозиторий, содержащий фиксации, которые необходимо изменить.

2. Запустите интерактивную перебазу для последних `n` фиксаций.

   ```shell
   git rebase -i HEAD~n
   ```

3. В списке фиксаций замените `pick``reword` на каждое сообщение фиксации, которое нужно изменить.

   ```shell
   pick e499d89 Delete CNAME
   reword 0c39034 Better README
   reword f7fde4a Change the commit message
   ```

4. Сохраните и закройте файл со списком фиксаций.

5. В каждом открываемом файле сообщения фиксации введите новое сообщение, а затем сохраните и закройте файл.

6. Принудительно отправить журнал перезаписи.

   ```shell
   git push --force-with-lease origin EXAMPLE-BRANCH
   ```

См. [интерактивный режим](https://git-scm.com/docs/git-rebase#_interactive_mode) в руководстве по Git.

> \[!WARNING]
> Если сообщение фиксации включало конфиденциальную информацию, принудительное принудительное отправка измененной фиксации может не удалить исходную фиксацию из GitHub. Обратитесь us через [портал](https://support.github.com) поддержки GitHub к старому идентификатору фиксации, чтобы он был удален из удаленного репозитория.

## Дополнительные материалы

* [Подписание фиксаций](/ru/authentication/managing-commit-signature-verification/signing-commits)