The most commonly used solution in these cases is GitLab . You configure a local web server, install GitLab on it, configure users, initialize repositories, and then upload local repositories to GitLab remote repositories.
However, installing GitLab is not trivial, which means that a lot of people end up opting for GitHub's corporate plans, where you can add private teams and repositories.
Each of them has its trade-off . Adopting GitLab saves you money with GitHub plans and ensures that your projects will have maximum privacy (in case of a well-configured instance). However, the time lost by someone or a team in the configuration of GitLab may end up not compensating at the end of the day. GitHub, on the other hand, involves recurring payments and you are guaranteed that your repositories will be almost 100% of the time in the air.