40 lines
3.8 KiB
Markdown
40 lines
3.8 KiB
Markdown
|
---
|
|||
|
title: Amending the Most Recent Commit Message
|
|||
|
localeTitle: Внесение изменений в последнее сообщение об итогах
|
|||
|
---
|
|||
|
Часто возникает случай, когда последний коммит был представлен досрочно (отсутствует файл, отсутствует изменение в файле и т. Д.), Или сообщение фиксации может быть ошибочным или неполным. Для такого случая Git предлагает флаг `--amend` commit. Чтобы изменить фиксацию, начните с ввода:
|
|||
|
```
|
|||
|
git commit --amend
|
|||
|
```
|
|||
|
|
|||
|
Вышеупомянутые действия будут фиксировать любые дополнительные изменения и открывать ваш редактор, позволяя вам изменить сообщение фиксации последнего фиксации. Кроме того, вы можете установить сообщение commit непосредственно в командной строке:
|
|||
|
```
|
|||
|
git commit --amend -m "New commit message"
|
|||
|
```
|
|||
|
|
|||
|
Если вы хотите добавить файлы или изменения в commit, вам просто нужно убедиться, что изменения добавлены в этап с `git add` перед запуском команды. Кроме того, если вы хотите добавить все просмотренные, измененные файлы (в постановке или иным образом) и изменить фиксацию, вы можете использовать:
|
|||
|
```
|
|||
|
git commit --amend -am "New commit message"
|
|||
|
```
|
|||
|
|
|||
|
Флаг `-a` говорит, чтобы добавить все файлы, которые Git сказал для отслеживания.
|
|||
|
|
|||
|
## Изменение фиксации после нажатия на удаленный
|
|||
|
|
|||
|
При использовании флага `--amend` Git заменит последнее коммит новым `--amend` с новым хешем. Это означает, что если вы уже нажали на удаленный компьютер перед внесением поправок, то старый коммит будет отсутствовать в последующих последующих нажатиях, и любое новое нажатие будет отклонено. Способ обойти это `--force` толчок. _ПРИМЕЧАНИЕ: `--force` не следует делать легкомысленно._ Для этого введите:
|
|||
|
```
|
|||
|
git push <remote> <branch> --force
|
|||
|
```
|
|||
|
|
|||
|
**Или же**
|
|||
|
```
|
|||
|
git push <remote> <branch> -f
|
|||
|
```
|
|||
|
|
|||
|
Принудительное перенаправление перезаписывает удаленную ветвь с состоянием вашего локального. Если на удаленной ветке есть коммиты, которых у вас нет в локальной ветке, вы потеряете их. Это может вызвать проблемы, если другие уже вытащили или клонировали из вашего репо. Если вы считаете, что другие, _возможно_ , уже загрузили исправленный коммит, пожалуйста, координируйте их.
|
|||
|
|
|||
|
## Смотрите также
|
|||
|
|
|||
|
* [git-commit (1) Ручная страница](https://www.kernel.org/pub/software/scm/git/docs/git-commit.html)
|
|||
|
* [Pro Git](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History)
|
|||
|
* [Переполнение стека](http://stackoverflow.com/questions/179123/edit-an-incorrect-commit-message-in-git/179147#179147)
|