Respuesta corta ...
Mi sugerencia: Comience con cuentas públicas en GitHub y / o Bitbucket (¿otro?). Lanza algunos proyectos públicos y comienza a usar las herramientas / interfaces. Una vez que tenga una idea de los servicios, debe tener una idea de cuáles son las limitaciones, ventajas y desventajas de cada servicio. A partir de ahí, debería poder elegir la mejor ruta para la iluminación del control de versiones. :)
Respuesta larga ...
Actualmente no tengo una copia de seguridad fuera del sitio para la mayoría de mi código, así que como parte de esto, originalmente pensé que subiría todos mis proyectos personales, o al menos todos mis proyectos de iOS, a un repositorio privado alojado en GitHub . Sin embargo, tengo muchos proyectos, muchos de los cuales son de poco valor (es decir, adaptados de libros y escritos para la experiencia de aprendizaje).
¿Has considerado instalar tu propio cliente Git? Si ya está pagando por el alojamiento web, entonces podría tener sentido usar ese host para su propia configuración de Git.
Por ejemplo, mi host es WebFaction (sin afiliación):
Instalar la aplicación web Git
Encabezar esta ruta podría permitirle ahorrar algo de dinero, especialmente. si ya estás pagando por el alojamiento.
GitHub no solo cobra por el repositorio privado,
Solo para aclarar a los demás (una vez más, no hay afiliación comercial a GitHub o BitBucket):
- $ 7 / mes para hasta 5 repositorios privados , ilimitado todo lo demás.
- $ 12 / mes para hasta 10 repositorios privados , ilimitado todo lo demás.
- $ 12 / mes para hasta 20 repositorios privados , ilimitado todo lo demás.
Tenga en cuenta que los precios de "Planes de negocios" son diferentes.
Como lo indicó Andrew en la otra respuesta, Bitbucket promociona repositorios privados ilimitados.
- 5 usuarios: gratis
- 10 usuarios: $ 10 / mes.
- 25 usuarios: $ 25 / mes.
- 50 usuarios: $ 50 / mes.
- 100 usuarios: $ 100 / mes.
- Ilimitado $ 200 / mes.
no parece tener ninguna forma de organizar repositorios jerárquicamente.
No estoy seguro de qué quiere decir exactamente "jerárquicamente" (probablemente porque no estoy familiarizado con SVN).
No estoy seguro de si esto ayudaría, pero podría mirar esta tabla de comparación para ver cómo se comparan / difieren los comandos:
¿Hay algo que me falta que me permita usar un repositorio de git con una jerarquía y verificar piezas cuando las necesito / trabajar con ellas, como lo hago actualmente con SVN?
¿Derivación?
¿GitHub (o un competidor, como BitBucket) tiene algunas características de organización de proyectos que me faltan?
No estoy seguro de si esto ayudará, pero puede echar un vistazo a:
Git viene con herramientas GUI integradas para comprometerse ( git-gui ) y navegar ( gitk ), pero hay varias herramientas de terceros para los usuarios que buscan experiencia específica de la plataforma.
... de nuevo, no estoy seguro si alguna de esas herramientas podría ayudarlo a tener una idea de lo que es posible.
Para ser claros, no estoy seguro de tu nivel de habilidad de Git ... si eres nuevo en Git / GitHub, usar una GUI podría ser una forma rápida / fácil de que te hagas una idea de las cosas. Personalmente, me gusta usar las aplicaciones oficiales de GitHub para Mac / Windows.
De lo contrario, ¿cuál es la "forma git" generalmente aceptada de manejar esta situación (descartar proyectos no destinados a lanzamiento, almacenarlos fuera de línea, agruparlos de alguna manera, etc., etc.)?
Si yo fuera tú, estaría usando repositorios.
¿Cuántos repositorios privados necesitas?
Si desea usar GitHub, una solución podría ser obtener el plan más barato y utilizar algunos repositorios privados para guardar todo su código de prueba / no público. Simplemente podría usar una estructura de carpetas en su main
rama para mantener una estructura jerárquica, o podría usar varias ramas para mantener las cosas más separadas.
Consejo: Si está utilizando una versión más reciente de Git, puede extraer ramas específicas usando git clone -b mybranch --single-branch git://sub.domain.com/repo.git
:
Sin embargo, debo advertirte que usar ramas para organizar el código (como carpetas) no es realmente la mejor manera de hacer las cosas (aunque no hay nada que diga que no puedes seguir esta ruta).
( Consulte mi respuesta aquí para obtener información relacionada con respecto a las sucursales de GitHub ) .
Una vez más, creo que múltiples repos son el camino a seguir.
Puede preguntarse si su código realmente necesita ser privado; ¿es posible que pueda hacer público dicho código sin ninguna repercusión?
Ponga bibliotecas en GitHub, continúe alojando mi propio SVN para todos los demás proyectos, use una solución que no sea VCS para la copia de seguridad fuera del sitio (blech),
Si encabeza esta ruta, Dropbox (o similar) podría ser una buena forma de obtener algún tipo de control de versión y sincronización para su copia de seguridad fuera del sitio.
Ponga las bibliotecas y el software que planeo lanzar en GitHub (como público y privado, respectivamente), continúe alojando mi propia SVN para proyectos que no me interesan tanto y que solo es probable que vuelva a visitar para actualizar mi memoria sobre cómo implementar XYZ, decido que estoy dispuesto a descartarlos si mi casa explota (doble blech),
Esto me lleva de vuelta a la pregunta "¿Ya paga por el alojamiento? Si es así, podría instalar su propio host Git"; La ventaja es que puede tener todo el código fuente bajo el paraguas de Git, incluso si no está todo en el mismo host (es decir, use GitHub para las cosas públicas que desea mostrar).
Ponga todo en [GitHub y / o BitBucket], trate de tener un número ridículo de repositorios buscando lo que necesito / manteniendo algún conjunto de punteros fuera de línea en mi cuenta [GitHub y / o BitBucket] (triple blech)
---> Vea mi respuesta corta arriba. ^^^^^^