Как писать код в команде?
Вообще, по-хорошему, каждый в команде работает над своим куском функционала, который затем приклеивается к проекту благодаря модульной архитектуре. С хорошим тим-лидом так и будет.
А если тим-лида нет, или он плохой, то будете регулярно резольвить конфликты при слиянии веток + тратить время на обсуждение общего вектора. А-ля "Сань, на 10й строке не трогай, я там поменял, ок?"
Ну как вам сказать, почитайте про SOLID принципы прежде чем нырнуть в пучину командной разработки, иначе и гитхаб и другие подобные инструменты не помогут
https://habr.com/ru/post/208442/
https://habr.com/ru/company/mailru/blog/412699/
и если вы коллективно пишете один класс, то что-то пошло не так )