new - SVN a Git Branch/Tag/Trunk
how to tag a commit in git (3)
Estoy dando el salto de SVN a Git (sin embargo, mi respeto por SVN seguirá vigente) y tuve algunas preguntas para algunos de la terminología de SVN a Git. En SVN, muchos repositorios se configuran así:
- trunk : The place where all of the main development occurs
- tag : Storing versions of major releases or important milestones
- branch : Where smaller "branch" development occurs as to not conflict with the main development occurring in the trunk, then is later merged into the trunk
¿Cuáles son los nombres de convenciones estándar para branch/tag/trunk
en Git?
Gracias por tu tiempo.
Git no le obliga a utilizar una estructura específica para su proyecto. Toda la información que es importante para git en sí se almacenará en el directorio oculto de .git. Para listar o ver sus ramas y etiquetas use los comandos git:
git branch
git tag
...
para obtener más información, utilice el comando git help
o eche un vistazo a este book gratuito
No hay análogos directos en realidad. SVN utiliza una estructura de directorios para almacenar copias directamente en el repositorio para permitir sucursales y etiquetas. Por lo tanto, hay un concepto en la creación de una estructura para mantener estas copias en el repositorio.
Por otro lado, Git mantiene esto como metainformación y trata todo como una instantánea de un punto en el "tiempo" como lo identifica un hash:
Subversion marca ciertos puntos de control en el historial a través de copias, la copia generalmente se coloca en un directorio llamado etiquetas. Las etiquetas Git son mucho más potentes. La etiqueta Git puede tener una descripción arbitraria adjunta (la primera línea es especial como en el caso de confirmación), algunas personas realmente almacenan los anuncios de la versión completa en las descripciones de la etiqueta. La identidad de la persona que etiquetó se almacena (de nuevo, siguiendo las mismas reglas que la identidad del remitente). Puede etiquetar otros objetos que no sean confirmaciones (pero eso es conceptualmente una operación de bajo nivel). Y la etiqueta se puede firmar de forma criptográfica PGP para verificar la identidad (por la naturaleza del trabajo de Git, esa firma también confirma la validez de la revisión asociada, su historial y el árbol).
Así que básicamente no hay una "estructura de repositorio"; solo existe la estructura del proyecto (es decir, lo que encontraría en el trunk
, una rama o una etiqueta en su repositorio SVN)
- Troncal SVN --- Git master (refs / heads / master)
- Ramas SVN / * --- ramas Git (refs / heads / *)
- Etiquetas SVN / * --- Etiquetas Git (refs / tags / *)