Git y GitHub para desarrolladores de juegos

"Estoy seguro de que Git es genial, pero parece complicado. Seguiré con mi flujo de trabajo actual" es como decir "Estoy seguro de que los IDE como FlashDevelop y Sublime Text son geniales, pero parecen complicados. Me quedo con Bloc". Sí, claro, hay una pequeña curva de aprendizaje, y puedes vivir sin eso, pero es una tontería. En este artículo, explicaré por qué Git (y GitHub) es tan bueno, y te mostraré cómo comenzar rápida y fácilmente..

Nota: Mucho de lo que digo aquí se aplica a otros sistemas de control de versiones, como Subversion, también, pero Git es tan popular que si tienes una opción libre, recomiendo que vayas con eso..


Lo que Git puede hacer por ti

Git tiene ventajas para todos los desarrolladores de juegos, ya sea que trabajen solos o en equipo. Vayamos a través de los grandes:

Git te permite deshacer cualquier cambio que hagas

Podría decirse que el punto principal de Git es que puede tomar una "instantánea" de todo el directorio de trabajo del juego cada vez que lo pida, y puede volver a cualquiera de esas instantáneas en cualquier momento.

Este es un sistema mucho mejor que hacer una copia de toda su carpeta cada vez que obtiene una versión funcional del juego, o enviar el código por correo electrónico con una descripción para que no lo pierda..

Además, no está restringido a una línea recta de deshacer y rehacer; Usted puede dividir su proyecto en un separado rama De instantáneas e intercambio entre las ramas a voluntad. Esto significa que puede agregar nuevas funciones a la versión 1.1, luego volver a la v1.0 y aplicar una corrección de errores; o trabaja en una función experimental y deséchala si no funciona; o mantenga las versiones de su móvil y tableta separadas pero juntas.

Git le permite comentar su trabajo, no solo su código

En realidad, Git no se limita a dejar Usted agrega comentarios: lo alienta, incluso lo requiere. Básicamente, cada vez que guarde una instantánea, escriba un comentario que describa los cambios realizados desde la última instantánea..

Aquí hay algunos ejemplos de comentarios de Tiled, un gran editor de niveles que hemos cubierto antes:




Además de hacer que sea más fácil encontrar un punto en particular en el historial de un proyecto (que a menudo es útil para rastrear la causa de un error), esto también ayuda a crear buenos hábitos de desarrollo: se encontrará dividiendo el trabajo en tareas más pequeñas para que Cada parte se puede describir completamente en un breve comentario, en lugar de trabajar en ocho cosas diferentes a la vez..

Git te da mejor acceso a otros proyectos

Hasta ahora, he estado hablando de Git, que es solo una herramienta de software como Zip o correo electrónico o FTP. GitCubo, por el contrario, es un sitio web que puede alojar sus instantáneas de Git (y, por lo tanto, su proyecto completo).

Hay otros sitios de alojamiento de Git, y también es posible alojar tus proyectos de Git en tu propio servidor, pero GitHub es, con mucho, el más destacado. Piénselo como Gmail: no es la única aplicación de correo electrónico basada en la web, pero para muchas personas podría ser.

Muchos juegos y herramientas de juego están disponibles públicamente en GitHub, como Tiled (que mencioné anteriormente) y Starling Framework (que también cubrimos anteriormente). Esto significa que, en lugar de simplemente descargar la versión actual de Starling Framework como un archivo zip y extraerlo a su proyecto, puede importar la carpeta completa a su proyecto y mantenerla actualizada automáticamente cada vez que haya un cambio..

También puede sugerir nuevas funciones o informar errores a través del rastreador de problemas:


Incluso puede crear una copia local (una "bifurcación") del proyecto, agregar la nueva característica o corregir el error usted mismo, y enviar la instantánea a los propietarios del proyecto para considerar la posibilidad de fusionarse con la versión principal.

(Es posible que haya notado que hemos comenzado a alojar más de nuestros archivos de origen en GitHub a través de Tuts +.

Git hace que sea más fácil trabajar con otros desarrolladores

Todas las razones anteriores hacen que Git sea muy valioso para los desarrolladores en solitario. Pero muchos de estos beneficios son también inherentemente útiles cuando se trabaja en equipo:

  • Comprometerse con un proyecto de equipo a través de Git (ya sea a través de los planes privados premium de GitHub o algún otro método de alojamiento) es mucho más fácil que compartir todo a través de archivos adjuntos de correo electrónico o Dropbox.
  • Dado que cada instantánea agregada al proyecto está marcada con un comentario y un autor, es fácil hacer un seguimiento de quién hizo qué..
  • Cada miembro del equipo puede trabajar en su propio código individualmente, y solo enviarlo al proyecto maestro cuando esté listo (evitando así romper cualquier cosa).

Git también tiene funciones para "fusionar" diferentes bits de código, lo que te obliga a lidiar con cualquier conflicto en lugar de solo sobrescribir ciegamente partes del proyecto.


Configurando Git

Instalar Git y configurarlo solía ser un asunto complicado que involucraba el uso de la línea de comandos para generar "claves SSH" y ugh. Pero ahora es muy simple: todo lo que tienes que hacer es descargar e instalar GitHub para Windows o GitHub para Mac, según corresponda..

Sí, sí, lo sé, dije que GitHub es un sitio web para alojar instantáneas de Git, pero aquí les digo que instalen GitHub para usar Git. Es confuso: GitHub-the-app es un software que instala Git y le brinda una interfaz agradable, a la vez que le brinda la opción de alojar sus instantáneas en GitHub-the-website.

No te preocupes por eso. Solo descargue la versión para su sistema operativo e instálela. Er, a menos que uses Linux, en cuyo caso te temo hacer Necesito ir por la ruta complicada.


Empezando con Git

Lo guiaré a través de la configuración de Git para cualquier juego o proyecto en el que esté trabajando actualmente, para que pueda comenzar a usarlo de verdad, en lugar de como un ejercicio falso. Estoy usando GitHub para Windows, pero los pasos serán muy similares en GitHub para Mac. También estoy fingiendo que bfxr es mi proyecto en el que estoy trabajando, lo cual no es totalmente.

Abra GitHub para Windows y haga clic en crear para comenzar a hacer un nuevo "repo" (abreviatura de "repositorio", básicamente, el lugar donde se almacenan todas las instantáneas de este juego o proyecto). Ingrese un nombre y una descripción para su proyecto y deje el directorio como predeterminado (no es necesario que coincida con el directorio existente de su proyecto). Asegurarse Empuje a github no está marcado.


Haga doble clic en su repositorio recién creado para abrirlo en la aplicación:


Verá que le indica que hay dos archivos para "confirmar" (es decir, que se agregarán al repositorio como una instantánea); estos son archivos regulares de configuración de Git, así que escriba un comentario suave en el Cometer mensaje caja y golpe Cometer:


Ahora, haga clic herramientas> abrir en explorador para abrir el directorio de trabajo de Git para el proyecto. Estará vacío aparte de los dos archivos de configuración (y una .git carpeta, que puede o no ser capaz de ver):


Copia tu proyecto completo en esta carpeta. (Sí, esto es complicado, pero al menos de esta manera puede estar seguro de que tiene una copia de seguridad si algo sale mal).


Regrese a GitHub para Windows: notará que estos nuevos archivos acaban de aparecer:


Confirma estos archivos también, y estás listo con tu primer repositorio básico!

Ahora haz un cambio a tu proyecto. Puede agregar un nuevo archivo o modificar uno existente:


Vuelva a GitHub para Windows, y también lo habrá detectado. Confirme este cambio, luego selecciónelo de la confirmaciones no sincronizadas lista y pulsa revertir cometer. Ahora tendrá un nuevo compromiso que revierte el compromiso anterior. Esto parece un poco confuso, pero significa que está realizando un seguimiento de todo lo que está haciendo.!


Compruebe sus archivos de proyecto reales:


Su nuevo archivo (o el cambio que realizó en el otro archivo) se ha ido. Puede revertir la reversión, si lo desea, agregar otro compromiso a su lista, o Retroceder El compromiso de eliminarlo de la lista completamente..


Conclusión

¿Eso es? Sí. Pero también, no. He puesto este artículo completo en GitHub, para que pueda experimentar con el sitio solicitando "mejoras" (sugerencias para lo que le gustaría ver agregado), y registrando "errores" (problemas con el artículo).

Si se siente realmente aventurero, intente "incluir" el artículo en su computadora, realice las adiciones usted mismo y luego envíe una solicitud de extracción para que se agregue al sitio ... si nada de eso tuvo sentido para usted, no se preocupe. ; una revisión posterior incluirá más detalles!