Git Commit
Последнее обновление
git commit записывает изменения, которые вы проиндексировали, в историю проекта как новый коммит с сообщением, описывающим, что изменилось. Сначала вы индексируете изменения с помощью git add, а затем фиксируете их - или используете -am, чтобы проиндексировать отслеживаемые файлы и зафиксировать за один шаг. Каждый коммит - это снимок, к которому вы можете вернуться позже.
Попробуйте это в терминальном playground - настоящей оболочке в вашем браузере, ничего не нужно устанавливать.
Синтаксис
| Command | What it does |
|---|---|
git commit -m "message" | Фиксирует проиндексированные изменения с сообщением |
git commit -am "message" | Индексирует отслеживаемые файлы и фиксирует за один шаг |
git commit | Фиксирует и открывает ваш редактор для сообщения |
git commit --amend | Редактирует самый последний коммит |
git commit -m "title" -m "body" | Фиксирует с заголовком и более длинным телом |
Частые случаи
| Goal | Command |
|---|---|
| Зафиксировать всё отслеживаемое | git commit -am "message" |
| Зафиксировать только проиндексированные файлы | git commit -m "message" |
| Исправить сообщение последнего коммита | git commit --amend |
| Создать пустой коммит | git commit --allow-empty -m "msg" |
Часто задаваемые вопросы о git commit
Как зафиксировать изменения в Git?
Проиндексируйте нужные изменения с помощью
git add <file> (или git add . для всего), затем выполните git commit -m "ваше сообщение". Коммит записывает снимок проиндексированных изменений в историю. Чтобы проиндексировать и зафиксировать отслеживаемые файлы за один шаг, используйте git commit -am "ваше сообщение".В чём разница между git commit -m и -am?
-m позволяет передать сообщение коммита в строке, чтобы Git не открывал редактор. -am объединяет -a (индексирует все изменённые и удалённые отслеживаемые файлы) с -m, поэтому индексирует и фиксирует одной командой. Обратите внимание, что -a не включает совершенно новые неотслеживаемые файлы - для них по-прежнему нужен явный git add.Как написать хорошее сообщение коммита?
Напишите короткое резюме в повелительном наклонении ("Add login validation") примерно до 50 символов, затем необязательную пустую строку и тело, объясняющее почему. Передайте тело вторым
-m: git commit -m "Add login validation" -m "Prevents empty submissions", или полностью опустите -m, чтобы написать его в редакторе.Как изменить мой последний коммит?
Используйте
git commit --amend. Он снова открывает самый последний коммит, чтобы вы могли отредактировать его сообщение или добавить файлы, которые забыли проиндексировать. Избегайте изменения коммита, который вы уже отправили (push), так как это переписывает историю - подробности см. на странице git commit --amend.Могу ли я попрактиковаться в этом онлайн?
Да. Откройте терминальный playground, чтобы выполнить
git commit в настоящей оболочке в вашем браузере - ничего не нужно устанавливать. Бесплатный интерактивный курс Git от Coddy также пошагово охватывает индексацию и фиксацию.