могут выкладывать в проект свои версии
Не могут. Гит это не какой-то FTP-сервер, куда можно выкладывать файлы. Ты можешь только синхронизировать свою локальную ветку и внешнюю на сервере.
в команде непонятно как сохранятся и объединятся правки
Почитай инструкцию к гиту и всё станет понятно. Если вышестоящая ветка (сервер) содержит коммиты, которых ты ещё не видел, то ты просто не сможешь отправить (push). Тебе придётся сначала скачать серверную версию ветки (fetch) и потом объединить на своём компьютере две версии кода (merge).
Если вы работали над разными фрагментами файла, то слияние произойдёт автоматически и ничего не затрётся.
Получится новый файл, который содержит общую работу. Потом ты сможешь отправить уже свою работу во внешний репозиторий (сервер).
Но вообще так не делают. Под каждую задачу нужно создавать отдельную ветку и потом коллеги должны давать рецензию на твой код и проверять на ошибки. Если всё хорошо, то только потом сливать в основную ветку.
Не совсем понимаю, как настроить синхронизацию папок именно с сайтом через гитхаб
Это называется CI/CD. Доставка файлов на собственно на сайт настраивается отдельно. Не надо ставить гит на сервер.
Нормально ли в гитхаб завести репозиторий типа песочницы, и хранить там разные куски кода
Репозиторий заводить для этого не очень удобно. Лучше храни куски кода на
https://gist.github.com.