Yo utilizo ambos, tienen ventajas y desventajas, por ejemplo en GitLab no necesitas tener creado el repositorio cuando empujas por primera vez, GitLab asume que es un nuevo repositorio y lo construye, en GitHub hay que tener el repositorio creado; a su vez el manejo de
release en GitHub es un simple trámite, tal cual, en GitLab tenes que hacer los tiket armar el pipeline y validarlo; GitLab maneja por separado el Kanban de manera muy simple en GitHub está escondido dentro de los issue; GitHub tiene un manejo de GitPages más intuitivo (que lo hace más fácil); GitHub está integrado con Zenodo para obtener identificadores persistentes (DOI) de manera automática, en GitLab se debe hacer con un pipeline (que es un bardo) y así la lista comparativa se hace interminable.
Al final termino usando GitHub y GitLab según el tipo de apertura del trabajo (ya sea de Ciencia Abierta o Privado), para mí cada repositorio es un libro, lo que me da mucho margen de trabajo y espacio en la nube.
Saludos
PD: mi desarrollo en gambas lo pase a GitHub y el IDE de gambas no hizo (ni hace) ningún problema.
Este es el código en mi programa que sube el trabajo a GitLab y construye el repositorio en caso de no existir (por default es privado).
Código:
Public Sub Menu75_Click()'gitlab
Dim fecha As String
Dim usuario As String = Trim(txtGIT.Text)
Dim IdGitLab As String
' Obtener la fecha actual
fecha = Format(Date(), "dd-mm-yyyy")
' Verificar si el nombre de usuario está vacío
If usuario = "" Then
Message.Error("Debe indicar su nombre de usuario en GitLab", "Ok")
Return
End If
IdGitLab = "git@gitlab.com:" & usuario & "/" & BaseName & ".git"
TerminalView1.Input("git remote remove origin" & "\n")
TerminalView1.Input("git remote add origin " & IdGitLab & "\n")
TerminalView1.Input("git add ." & "\n")
TerminalView1.Input("git commit -m '" & fecha & "'" & "\n")
TerminalView1.Input("git push --set-upstream origin main" & "\n")
TerminalView1.SetFocus()
End