remove - git tag best practices
¿Es más fácil administrar código con Git o Bazaar? (8)
Creo que depende de tu gusto personal; hay argumentos para ambos. He usado bzr extensivamente para proyectos personales durante un par de años, desde los 0,8 días, pero el año pasado cambié a Git y nunca miré hacia atrás, al menos para la gestión de código fuente.
Soy demasiado vago para reescribir mi propia impresión , pero para resumir:
- bzr funciona de forma más uniforme en todas las plataformas
- bzr es más reconocible (si le dan la herramienta con cualquier documentación, cualquier usuario semi competente podrá usar bzr, eso no es tan cierto con git)
- bzr es más fácil de extender de una manera API, git es más fácil de extender en una forma Unix (tuberías)
- git es inmensamente más poderoso en mi humilde opinión; en particular, estoy convencido de que su enfoque para el manejo de renombrados y el seguimiento de contenido es el adecuado para muchos casos
- el sistema bzr revno no es bueno en mi humilde opinión. Parece más simple, pero es profundamente confuso una vez que comienzas a tener muchas ramas y cambias la línea principal.
Todo se reducirá a la preferencia personal, simple y llanamente.
Yo uso Bazar y lo encuentro extremadamente fácil. La puesta en escena es un concepto en Git que ofrece una buena flexibilidad pero también agrega complejidad. Puede fácilmente administrar código en Bazar con algo así como 4 comandos (agregar, confirmar, fusionar (tal vez presionar / arrastrar) y registrar o qlog), y solo necesita fusionar si quiere múltiples ramas.
Por lo general, Bazar parece hacer lo correcto. Nunca tuve un problema con eso haciendo algo estúpido o dejándome hacer algo estúpido.
Bazaar está muy bien integrado con Ubuntu, he estado usando ubuntu desde hace muchos años, cansado de cambiar a otra distribución más geek, pero no tiene sentido. Elijo bazar sobre git / mercurial Coz Bazaar. Las notificaciones están muy bien integradas en Ubuntu. Además, obtienes alojamiento gratuito desde Launchpad, que es una gran ventaja.
Lo único que Git hace mucho, mucho mejor es manejar muchas ramas. Lo hace mucho más rápido que bzr, y no requiere múltiples copias del código fuente. Todas las ramas están dentro del mismo directorio. Me encuentro usando git branches mucho más a menudo de lo que solía hacer con bzr, especialmente porque mi repositorio no es pequeño y también involucra archivos binarios (180 MB en total).
EDITAR : En realidad, estoy equivocado. --no-trees + checkout liviano funciona como Git. Gracias, FryGuy. Ah, y encontré esta entrada de blog que tiene información útil.
La mejor razón para usar git vs bzr / hg es porque github rockea. Launchpad está bien, pero github obtiene la búsqueda, el estilo social y correcto.
Técnicamente, la plataforma de lanzamiento es probablemente mejor en muchos aspectos. Fusiones, sistemas de compilación integrados y otras características hacen que launchpad sea atractivo para muchos. El editor incorporado en github, las ideas ... hay un flujo allí que launchpad no tiene. Visualmente, socialmente, no hay competencia.
Supongo que también lees el artículo de Bazaar vs. Git , pero al final, todo se reduce a lo que estás buscando en términos de "administración de código rica en funciones".
Si, mediante la administración del código, se refiere al archivo (y a los directorios y al cambio de nombre), vaya con Bazar.
Si, mediante la administración de código, está buscando administración de contenido , Git está diseñado para administrar solo eso (el área de ensayo, por ejemplo, le permite registrar el contenido actual que desea comprometer, aunque ya haya empezado a hacer algo grande modificación que termina no queriendo comprometerse en la rama actual)
Para estar seguro, vuelva a leer la visión original de Linus para Git (en abril de 2005). Si está de acuerdo, es probable que Git entregue lo que desea. En breve:
- modelo muy simple (blob-tree-commit-tag)
- no se han agregado metadatos (para seguir el cambio de nombre, por ejemplo)
- principios "fuertes" como:
- "archivos" no importan. Lo único que importa es cómo se movió el "contenido" en el árbol
- Usted tiene un SCM que rastrea lo que cambió en el único nivel que realmente importa, es decir, todo el proyecto. Ninguna información tiene sentido en una granularidad más pequeña, ya que, por definición, un "proyecto" depende de los otros archivos, o no sería un proyecto
Esa noción de "todo proyecto" es en realidad una fortaleza y un límite para Git en términos de gestión de proyectos: no debería tratar de poner todo en un solo repositorio de Git.
El desarrollo de Bazar se ha detenido. La última versión es 2.6, con fecha de 2013-08-04. Desde abril de 2015, se han realizado menos de 20 confirmaciones .
Si está comenzando con el control de versiones, debería considerar uno que esté activo (lo más probable es que sea Git o Mercurial).
Editar 1: se realizó una versión 2.7 desde mi publicación, pero no cambia el hecho de que el proyecto está esencialmente muerto con ~ 10 commits / year.
Edit 2: ahora hay un tenedor de bazar llamado Breezy con más actividad que Bazaar. Dudo que esto se convierta en un proyecto realmente activo, pero al menos esto significa que la herramienta se mantiene (debería sobrevivir al final de Python 2, por ejemplo, uno de los objetivos de Breezy es portar a Python 3).