Если все разработчики имеют доступ к репо, вам не нужно делать ничего особенного. Они извлекают изменения из репо, вносят свои собственные изменения, фиксируют локально, а затем возвращают в публичное репо, когда у них что-то работает.
Если, с другой стороны, у вас есть один (или несколько) разработчик (и), отвечающий за фиксацию репо, а другие предоставляют исправления для них. Пусть каждый из них клонирует репо в свои собственные учетные записи, и пусть они отправляют пул-запросы, когда у них есть изменения, которые они хотят внести в основное репо.
При желании можно также создать конкретные клоны для работы с определенными функциями. Использование того же рабочего процесса с pull-запросами для внесения изменений в основной репозиторий после завершения функции.
Если под «Все разработчики будут иметь одну универсальную учетную запись» вы имеете в виду, что все разработчики будут использовать одну учетную запись GitHub и выступать в качестве одного и того же коммиттера в репо, это плохая идея. Создайте отдельные учетные записи и настройте их в качестве соавторов, если вы хотите, чтобы у всех них был доступ к коммитам.
Что касается ваших конкретных вопросов:
Нет, используйте ветки для функций, исправлений и т. Д., Которые потребуют более одного коммита. В одной ветке может работать более одного разработчика.
Да, git действительно хорошо обрабатывает конфликты, поэтому нет проблем с тем, чтобы люди работали над одним файлом. Никаких проблем, за исключением того, что разрешение конфликтов не всегда может быть тривиальным, если есть фундаментальные изменения в файле, который был отредактирован несколькими участниками. Это, однако, ничто, что не может быть преодолено, разговаривая вместе. Контроль версий не заменяет связь.
Удачи!