• Juegos
  • Industria
  • Recursos
  • Comunidad
  • Aprendizaje
  • Asistencia
Desarrollo
Motor de Unity
Crea juegos 2D y 3D para cualquier plataforma
DescargarPlanes y precios
Monetización
Compra dentro de la aplicación (IAP)
Descubre y gestiona IAP en todas las tiendas
Mediación
Maximiza los ingresos y optimiza la monetización
Calidad de anuncios
Protege la experiencia del usuario de tu aplicación
Tapjoy
Construye lealtad de usuarios a largo plazo
Todos los productos de monetización
Adquisición de usuarios
Adquisición de usuarios
Hazte descubrir y adquiere usuarios móviles
Unity Vector AI
Conecta a los jugadores con los juegos adecuados
Publicidad en el dispositivo Aura
Alcanza a los usuarios en el dispositivo en el momento de mayor compromiso
Todos los productos de crecimiento
Casos de uso
Colaboración 3D
Construye y revisa proyectos 3D en tiempo real
Capacitación envolvente
Capacitación en entornos envolventes
Experiencias del cliente
Crea experiencias interactivas en 3D
Todas las soluciones de la industria
Industrias
Fabricación
Logra la excelencia operativa
Venta minorista
Transforma las experiencias en tienda en experiencias en línea
Industria automotriz
Eleva la innovación y las experiencias en el automóvil
Todas las industrias
Biblioteca técnica
Documentación
Manuales de usuario oficiales y referencias de API
Herramientas para desarrolladores
Versiones de lanzamiento y rastreador de problemas
Hoja de ruta
Revisar características próximas
Glosario
Biblioteca de términos técnicos
Información útil
Casos de estudio
Historias de éxito en el mundo real
Guías de mejores prácticas
Consejos y trucos de expertos
Todos los recursos
Novedades
Blog
Actualizaciones, información y consejos técnicos
Novedades
Noticias, historias y centro de prensa
Centro de la comunidad
Discusiones
Discute, resuelve problemas y conéctate
Eventos
Eventos globales y locales
Historias de la comunidad
Hecho con Unity
Presentando a los creadores de Unity
Transmisiones en vivo
Únete a desarrolladores, creadores e insiders
Premios Unity
Celebrando a los creadores de Unity en todo el mundo
Para todos los niveles
Unity Learn
Domina las habilidades de Unity de forma gratuita
Capacitación profesional
Mejora tu equipo con entrenadores de Unity
¿No tienes experiencia con Unity?
Primeros pasos
Pon en marcha tu aprendizaje
Rutas esenciales de Unity
¿No tienes experiencia con Unity? Comienza tu viaje
Guías prácticas
Consejos prácticos y mejores prácticas
Educación
Para estudiantes
Impulsa tu carrera
Para docentes
Potencia tu enseñanza
Licencia gratuita para fines educativos
Lleva el poder de Unity a tu institución
Certificaciones
Demuestra tu dominio de Unity
Opciones de soporte
Obtener ayuda
Ayudándote a tener éxito con Unity
Planes de éxito
Alcanza tus metas más rápido con soporte experto
PREGUNTAS FRECUENTES
Respuestas a preguntas comunes
Contáctanos
Conéctate con nuestro equipo
Planes y precios
Idioma
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Social
Moneda
Comprar
  • Productos
  • Unity Ads
  • Suscripción
  • Tienda de recursos de Unity
  • Distribuidores
Educación
  • Estudiantes
  • Instructores
  • Instituciones
  • Certificación
  • Learn
  • Programa de desarrollo de habilidades
Descargar
  • Unity Hub
  • Descargar archivo
  • Programa beta
Unity Labs
  • Laboratorios
  • Publicaciones
Recursos
  • Plataforma Learn
  • Comunidad
  • Documentación
  • Preguntas y respuestas Unity
  • PREGUNTAS FRECUENTES
  • Estado de servicios
  • Casos de estudio
  • Made with Unity
Unity
  • Nuestra empresa
  • Boletín
  • Blog
  • Eventos
  • Empleos
  • Ayuda
  • Prensa
  • Socios
  • Inversionistas
  • Afiliados
  • Seguridad
  • Impacto social
  • Inclusión y diversidad
  • Contacto
Copyright © 2025 Unity Technologies
  • Legal
  • Política de privacidad
  • Cookies
  • No quiero que se venda ni se comparta mi información personal

"Unity", los logotipos de Unity y otras marcas comerciales de Unity son marcas comerciales o marcas comerciales registradas de Unity Technologies o de sus empresas afiliadas en los Estados Unidos y el resto del mundo (más información aquí). Los demás nombres o marcas son marcas comerciales de sus respectivos propietarios.

Hero background image

Buenas prácticas para el control de versiones

Obtenga consejos y prácticas recomendadas para sacar el máximo partido a cualquier solución de control de versiones, tal y como se recoge en nuestro último libro electrónico Prácticas recomendadas de control de versiones y organización de proyectos para desarrolladores de juegos.
Leer el libro electrónico
Leer el libro electrónico

Entender el control de versiones puede resultar desalentador para los desarrolladores y creadores de juegos sin formación técnica. Pero no tiene por qué ser así. En esta página encontrarás algunas buenas prácticas que te ayudarán a sacar el máximo partido de cualquier sistema de control de versiones (VCS) que elijas.

  • Comprométase poco, comprométase a menudo
  • Mantener limpios los mensajes de confirmación
  • Evitar los commits indiscriminados
  • Obtenga lo último, lo primero
  • Flujos de trabajo SCM de plástico
  • Configuraciones multisitio en Plastic SCM
  • Conozca sus herramientas
  • Ramas de funciones en SCM Plástico
  • Flujo Git
  • Ramas de tareas SCM de plástico
  • Flujos de trabajo de Perforce Helix Core
  • Solicitudes de extracción
  • Cíñase a sus normas

Comprométase poco, comprométase a menudo

Esta es, con diferencia, la mejora más sencilla que puede introducir en su flujo de trabajo y, sin embargo, es con la que más luchan algunos desarrolladores. Cuando trabajas con otras herramientas de gestión de proyectos, es probable que ya hayas dividido el trabajo en tareas pequeñas y manejables. Los compromisos deben tratarse exactamente igual.

Una única confirmación sólo debe referirse a una tarea o ticket, a menos que una única línea de código solucione mágicamente varios errores. Si estás trabajando en una función de mayor envergadura, divídela en tareas más pequeñas y haz commits para cada una de ellas.

La mayor ventaja de utilizar commits más pequeños es que, si algo sale mal, se pueden detectar y revertir los cambios no deseados con mucha más facilidad.

Mantener limpios los mensajes de confirmación

Los mensajes de confirmación describen la historia de su proyecto. Al fin y al cabo, es mucho más fácil encontrar el cambio que ha añadido las tablas de puntuaciones altas a tu juego si su mensaje de confirmación dice "se han añadido tablas de puntuaciones altas al menú" en lugar de "¡apuesto a que no puedes superar mi puntuación en estas nuevas tablas!".

Cuando se trabaja con un sistema de tickets de tareas como Jira o GitLab, es aún mejor incluir un número de ticket en tu commit. Muchos sistemas pueden configurarse para que trabajen conjuntamente con confirmaciones inteligentes, de modo que puedas hacer referencia a los tickets y cambiar su estado desde tu mensaje de confirmación.

Por ejemplo, un commit que diga "JRA-123 #close #comment task completed" establecería el ticket de Jira JRA-123 como cerrado, dejando el comentario "task completed" en el ticket.

Para más información sobre la configuración de este flujo de trabajo, consulta la documentación en Jira o el servicio Pivotal Tracker en GitLab.

Evitar los commits indiscriminados

La única vez que se debe utilizar "commit -a" (el comando de Git para "confirmar todos los cambios") o cualquiera de sus equivalentes es con la primera confirmación de un proyecto. Normalmente, esto ocurre cuando los únicos archivos del proyecto son README.md.

Una confirmación sólo debe incluir archivos relacionados con el cambio que está confirmando en el repositorio. Usted debe ser particularmente cuidadoso cuando trabaje con proyectos de Unity porque algunos cambios pueden resultar en que varios archivos sean marcados como cambiados, tales como escenas, Prefabs, o Sprite Atlases, aún cuando usted no tenía la intención de hacerles ningún cambio.

Si, por ejemplo, introduces accidentalmente un cambio en una escena en la que está trabajando otra persona, puedes causarles un quebradero de cabeza cuando vayan a introducir sus cambios y vean que primero tienen que fusionar los tuyos.

Este es uno de los errores más comunes que cometen las personas que se inician en el control de versiones. Es importante entender que sólo debes confirmar tus propios cambios en el proyecto. Para obtener más información, consulte esta entrada del blog sobre cómo acelerar su flujo de trabajo.

Flujo de trabajo diario Plastic SCM

Obtenga lo último, lo primero

Tan a menudo como sea necesario, incorpora los últimos cambios del repositorio a tu copia de trabajo. No es buena idea trabajar de forma aislada, ya que esto sólo aumenta la probabilidad de conflictos de fusión. Consulte la tabla anterior para hacerse una idea del flujo de trabajo diario típico de cada sistema.

Gráfico de flujos de trabajo de SCM Plástico

Flujos de trabajo SCM de plástico

Los flujos de trabajo de Plastic SCM son un poco diferentes porque se puede trabajar en configuraciones centralizadas, distribuidas o multisitio.

Gráfico de configuración de SCM Plástico multisitio
CONFIGURACIÓN DE MULTISITE PLASTIC SCM

Configuraciones multisitio en Plastic SCM

Las configuraciones multisitio pueden ser bastante singulares, y cada usuario puede trabajar en un flujo de trabajo centralizado o distribuido.

Considere el siguiente ejemplo:

  • Dos equipos
  • Cada equipo dispone de un servidor in situ
  • Los miembros del equipo se registran de forma local o distribuida en cada sede, pero se benefician de la velocidad de un servidor in situ cercano
  • Los servidores se empujan unos a otros para mantenerse total o parcialmente sincronizados.
Gluon en SCM de plástico
GLUÓN EN SCM DE PLÁSTICO

Conozca sus herramientas

Independientemente del VCS que su equipo elija para trabajar, asegúrese de que todos se sienten cómodos utilizándolo y comprenden las herramientas que tienen a su disposición.

Si trabajas con Git, no todo el mundo necesita utilizar el mismo cliente GUI. Pero es prioritario que todo el mundo se sienta cómodo con el flujo de trabajo commit > pull > push. En otras palabras, deben tener los conocimientos necesarios para consignar sólo los archivos que necesiten.

Si trabajas con Plastic SCM, anima a los artistas de tu equipo a que se acostumbren a Gluon, una interfaz gráfica de usuario fácil de usar para simplificar su flujo de trabajo. Gluon te permite decidir en qué archivos quieres trabajar, eliminando la necesidad de descargar y gestionar todo el proyecto. También permite bloquear archivos, lo que impide que otros trabajen en ellos. Una vez que haya terminado, envíe los archivos de nuevo al repositorio y desbloquéelos de nuevo según sea necesario.

Ramas de funciones en SCM Plástico

Cuando se trabaja en un proyecto de larga duración con varios ciclos de publicación, la ramificación de funciones es muy beneficiosa para el flujo de trabajo. A menudo, los equipos trabajan a partir de la misma rama de un repositorio, llamado trunk, master o main.

De este modo, todo el proyecto seguirá el mismo calendario. Sin embargo, puede ser útil dividir el trabajo en varias ramas para colaborar más eficazmente en equipo.

SCM de plástico Flujo de trabajo Git
UN FLUJO DE TRABAJO GIT FACILITA LA GESTIÓN DE LAS VERSIONES

Flujo Git

En Git, un flujo de trabajo específico llamado Git Flow se centra en el uso de diferentes ramas para características, correcciones de errores y lanzamientos.

Así, si un desarrollador empieza a trabajar en una nueva función dentro de una rama aislada, ésta se fusionará de nuevo con la rama principal una vez que haya terminado. Mientras tanto, otro compañero de equipo puede hacer una revisión de la versión anterior, o corregir un error, y publicar una nueva versión de forma segura, sin incluir ninguna de las características que aún están en desarrollo.

Rama SCM de plástico
RAMA SCM DE PLÁSTICO POR PATRÓN DE TAREAS

Ramas de tareas SCM de plástico

Plastic SCM también cuenta con ramas de tareas. Para este patrón, se crea una nueva rama para cada tarea de la que se hace un seguimiento. Mientras que en Git Flow, utilizamos ramas de características para desarrollar características completas, a veces grandes. Las ramas de tareas en Plastic SCM están pensadas para durar poco tiempo. Si la ejecución de una tarea requiere más de un puñado de commits, lo más probable es que pueda dividirse en tareas más pequeñas.

Flujos de trabajo de Perforce Helix Core

Perforce Helix Core utiliza un sistema llamado Streams para facilitar este estilo de flujo de trabajo. Al crear un depósito en el que trabajar, debe configurarlo como un tipo de depósito de flujo. A continuación, puede utilizar la vista Stream Graph para crear nuevos flujos. Cada flujo (que no sea el flujo principal) deberá tener un flujo padre, para que los cambios puedan copiarse aguas arriba.

Hay diferentes tipos de arroyos para diferentes propósitos. Cuando se cambia de flujo en la estación de trabajo local o se copian los cambios, sólo se fusionan los metadatos de los archivos modificados, lo que agiliza el cambio de contexto.

Las revisiones de código de Plastic SCM se incluyen en la interfaz gráfica de usuario.
LAS REVISIONES DE CÓDIGO DE PLASTIC SCM SE INCLUYEN EN LA GUI

Solicitudes de extracción

Una vez que hayas completado el trabajo en una rama de características, es una buena práctica utilizar pull requests para devolver tus cambios a la corriente principal del repositorio. Las solicitudes de extracción son creadas por los desarrolladores de la función o tarea. Normalmente es responsabilidad de un desarrollador senior o de DevOps revisar los cambios antes de aceptarlos en la línea principal.

Tanto Plastic SCM como Perforce disponen de herramientas automatizadas para ayudar a gestionar la fusión de ramas en la línea principal. Plastic SCM lo hace con la ayuda de Mergebot, que fusiona automáticamente las ramas de un repositorio una vez que han sido revisadas y han pasado la validación. Perforce dispone de una plataforma adicional, Helix Swarm, utilizada para gestionar las revisiones de código que también puede configurarse con pruebas automatizadas.

Cíñase a sus normas

Incluso si trabajas en un proyecto en solitario, los principios de organización y control de versiones pueden ser realmente útiles.

Cuando se trabaja en equipo, es fundamental dar prioridad a una comunicación clara. Como grupo, tenéis que poneros de acuerdo sobre vuestras directrices: cómo debéis estructurar el proyecto, qué sistema de control de versiones utilizar y cómo debe ser el flujo de trabajo en ese sistema.

De esta forma, cuando empieces a integrar otras herramientas como Jira, GitLab, herramientas de compilación o pruebas automatizadas, el trabajo que ya has hecho estructurando tu proyecto y flujo de trabajo se verá reflejado.

Plástico SCM Callout
¿Quieres más información?

Si te ha resultado útil, consulta otro recurso sobre buenas prácticas para organizar tus proyectos o nuestro libro electrónico gratuito sobre control de versiones.

Leer el libro electrónico
Más información

¿Le ha resultado útil este contenido?

¡Sí!

Quiero más

No tanto.

Podría ser mejor