Whilst GitHub is a very popular solution some people prefer The first single application for the entire DevOps lifecycle - GitLab | GitLab which seems to be more focused on CI/CD (Continuous Integration/Continuous Development), although to be fair GitHub is now making progress in this space, so there is less of a difference now.
Whilst looking into this and considering where to host some code, it was pointed out to me that GitLab can do "mirror pushing" to GitHub, so you can have the best of both! The process for setting this up is as follows:
This is documented at Repository mirroring | GitLab.