Чем отличаются git commit и git push?
Основы Git
`git commit` сохраняет изменения в локальной истории, а `git push` отправляет локальные коммиты в удалённый репозиторий.
git commit
Создаёт снимок проиндексированных изменений (после git add) в вашем локальном репозитории. Работает без сети, не виден другим.
git add src/app.ts
git commit -m "feat: add login form"git push
Передаёт коммиты ветки на удалённый сервер (origin), после чего их видят коллеги и CI.
git push origin feature/loginПорядок работы
- Меняете файлы.
git add— отбираете изменения.git commit— фиксируете локально (можно много раз).git push— публикуете.
Нюансы
- Если на сервере появились новые коммиты, push будет отклонён: сначала
git pull --rebaseилиgit pull. - Не переписывайте историю, уже отправленную в общую ветку;
git push --forceиспользуйте только на своих ветках, лучше--force-with-lease. - Локальные коммиты можно править (
commit --amend,rebase), пока не сделан push.
Коротко для собеседования
commit фиксирует изменения локально, push публикует коммиты на удалённом репозитории. Между ними можно править историю, после push — осторожно.