Наша практика очень кратко: у нас нет стандартной IDE которой должны пользоваться все. Правим там кому где удобно. Лично я в зависимости от бэкэнд языка применяю IntelliJ Idea или PHP Storm.
Коммитим в небольших проектах которые еще не развернуты сразу в master. Если над проектом работает несколько человек либо он уже развернут на продакшне в отдельную ветку. Мерджит эту ветку в мастер прежде проверив изменения в каждом проекте один человек, ответственный за проект. Разумеется иногда это правило приходится нарушать, но в разумных пределах.
На продакшн заливаем в legacy проектах на PHP на продакшне стоит git, делаем push из мастер, а потом собираем фронт на продакшне же. Разумеется если у проекта есть фронт. В новых проектах и всех на Java разработчик пушит мастер на свой компьютер, там его собирает и копирует на продакшн. Теоретически есть средства автоматизации всего этого но прижились не очень. Поскольку у нас бывают достаточно сложные взаимосвязанные инфраструктуры. Часто после релиза надо что-то перезапустить или поправить конфиги в других связанных системах. Что из-за автоматики в итоге иногда забывалось с ненужными последствиями.
С БД это большая интересная тема. Если кратко чтобы это нормально работало совместно с системами контроля версий нужно использовать менеджер миграций БД. Где все изменения в структуре БД описываются разработчиком в виде т.н. миграций. У нас используется встроенный в Spring Boot liquibase и входящий в Laravel (не скажу навскидку существует ли он как отдельный продукт с собственным именем).