tgoop.com/goproglib/6496
Create:
Last Update:
Last Update:
Если вы всё ещё используете git checkout для всего подряд, есть две команды, которые сделают вашу работу проще и безопаснее.
— Git Switch: для работы с веткамиgit switch заменяет checkout в операциях с ветками.
Переключиться на существующую ветку:
git switch feature/api-refactoring
Создать новую ветку и сразу переключиться:
git switch -c feature/grpc-implementation
Команда делает только одно — работает с ветками. Меньше шансов случайно перезаписать файлы.
— Git Restore: для работы с файлами
git restore заменяет checkout в операциях с файлами.Откатить один файл к последнему коммиту:
git restore main.go
Откатить несколько файлов:
git restore config.yaml handler.go
Восстановить файл из конкретного коммита:
git restore --source HEAD~1 user_service.go
Явно показывает, что вы работаете с файлами, а не с ветками.
Типичный воркфлоу для разработчика:
# Создаем ветку для новой фичи
git switch -c feature/add-prometheus-metrics
# Работаем, что-то меняем в коде
# Упс, случайно поломали конфиг
# Откатываем конкретный файл
git restore config.yaml
# Проверяем статус
git status
# Коммитим нужные изменения
git add .
git commit -m "Add Prometheus metrics for HTTP handlers"
git push origin feature/add-prometheus-metrics
Случайно запустили go get не в той ветке и сломали зависимости:
# Откатываем go.mod и go.sum
git restore go.mod go.sum
# Возвращаем чистое состояние
go mod tidy
Особенно важно, когда работаете одновременно над несколькими микросервисами или модулями.
#GoToProduction
