У файла в Git три состояния: изменён в рабочей копии, добавлен в индекс (git add) и сохранён в коммите (git commit).
git switch -c feature/cart # новая ветка
git add -p # добавить изменения по частям
git commit -m "Корзина: пересчёт скидки"
git fetch && git rebase origin/main # подтянуть свежий main
git push -u origin feature/cart
Что важно знать
- merge создаёт коммит слияния и сохраняет историю как была; rebase переписывает коммиты поверх другой ветки — история линейная, но опубликованные коммиты переписывать нельзя.
- Откат:
git revert— новый коммит, отменяющий старый (безопасно для общих веток);git reset— передвинуть ветку назад (только локально). git stash— временно убрать незакоммиченные изменения.git log --oneline --graph,git diff,git blame— чтение истории.- Хорошее сообщение коммита объясняет зачем, а не перечисляет файлы.
.gitignore— не коммитить зависимости, сборку и секреты.