GIT умеет хуки, которые могут запускаться в том числе при получении коммита.
По хорошему у вашего процесса разработки сервиса должны быть три этапа - dev, stage, production.
То есть dev - это вы работаете, к примеру со своей копией кода у себя на компе. Также это когда тот разработчик у себя работает с копией кода. То есть каждый из участников каким либо образом поднимаете у себя локальную копию приложения (целиком или отдельных частей, я хз что там у вас за приложение). Особых пояснений не надо, надеюсь? Обмен данными через какой-либо репозиторий происходит, тут вы правильно мыслите. Вы исправили, отправили коммит - разработчику сообщили, тот скачал себе и от себя что-то там натворил, результат в репозиторий и т.д. по кругу.
Для этапа stage - обычно подразумевается окружение (сервер), максимально приближенное к тому, где будет работать приложение. Но все же это тестовый вариант, на нем вы вместе с разработчиком отлаживаете окончательную версию перед выкладыванием на рабочий сервер. А после того, как все работает, отправляете код на рабочий.
Способов "налету синхронизировать" множество. Почитайте про GIT HOOK, возможно это то, что вам надо. Там можно написать скрипт, который, например по коммиту с определенным тегом поднимает тестовую реализацию приложения и отсылает данные по доступу разработчикам.
Также можно использовать специальные хостинги, типа Heroku, где процесс достаточно автоматизирован и удобен.
По вопросу тестирования - обратитесь к рекомендациям и литературе по используемому вами языку программирования и технологии (ну там, движок какой используете может). Обычно есть достаточно подробные рекомендации, как тестировать, что для этого нужно, какое ПО использовать и т.д.