Usuari/a: -- Sortir --

Github para Unity

Crear una cuenta de Git Hub y descargarse el software Git https://git-scm.com/download/win (Podríamos descargarnos la interfaz gráfica de Github, pero este tutorial será realizado con el código GIT desde la consola).

Creamos un repositorio nuevo que es como una carpeta dentro de la página Git Hub.

Le pondremos el nombre de unity-tutorial, una pequeña descripción, por ahora lo haremos private, hacemos click que lo inicie con un archivo README y agregamos un gitignore llamado Unity (este va a hacer un archivo texto donde se indicará los tipos de archivo y carpetas que no se aceptaran en el proyecto, de la lista aparece justamente uno llamado unity, porque ya existe un formato de lo que no se puede aceptar en un proyecto unity) Si agregamos un archivo README, podremos editarlo después y colocar información pertinente para los que editen el proyecto ( para este caso lo haremos sin el archivo README).

Una vez creado el repository podemos editar el archivo gitignore y si lo tienen quitarle todos los Slash (/) de cada línea para permitir la creación y edición de las carpetas que salen al principio (este es una buena práctica a realizar cada vez que se trabaje con el GitHub).

Ahora vamos a crear una carpeta donde colocaremos nuestro proyecto unity al repository a través de la consola de Windows, primero colocamos dir para saber dónde estamos, cd hasta llegar aDesktop y git clone junto el enlace que tomamos de la página web del botón clone or download.

Y así estaría una vez creado una carpeta en nuestro escritorio.

A nuestra carpeta que se creó en el escritorio le pasamos todos los archivos que contienen nuestro proyecto de Unity (puede ser uno que este creado o uno nuevo que se haya creado desde cero).

Entramos a través de la consola en nuestra carpeta de unity-tutorial (cd unity-tutorial) y luego el comando git status.

Luego colocamos las carpetas que queremos subir al repositorio con git add (git add .vscode/), va a salir una advertencia y luego le damos a git status para ver si lo tomo.

Pero como queremos subir todas los archivos le damos de una vez git add . (importante el punto y separado del add).

Ahora si procedemos a subir todos nuestros archivos a git hub con el comando git commit -m y le podemos agregar un mensaje adicional como “Agregando proyecto unity”.

Antes tenemos que identificarnos con nuestro correo y con nuestro nombre para poder subirlo, a través de los comandos que nos indican por la consola.

Hacemos un git status para ver si todo esta ok.

Ahora si podemos subirlos con un git push.

Si refrescamos nuestra página web podrán ver las carpetas que estarán en la nube de git hub.

Ahora abrimos el proyecto unity con los archivos que copiamos a la carpeta que creamos en el escritorio que lo llamamos unity-tutorial.

Volvemos a la consola e introducimos este comando para cambiar de editor, lo que hará es que cuando hacemos git commit abrirá el editor y podremos colocar un mensaje más largo.

Y creamos un nuevo script en el unity que lo llamaremos showcaseScript y hacemos un simple cambio para ver si se ha guardado.

Lo abrimos y le quitamos la parte del start.

Volvemos a la consola y damos git status y observaremos que se está registrando los cambios que se están realizando.

Ahora queremos subir este cambio que hemos hecho por lo tanto hacemos git add . y luego git status.

Lo subimos con un mensaje de que fue lo que hicimos colocamos git commit y nos abrirá el nano donde colocaremos el mensaje.

Damos control x, yes y enter.

Damos un nuevo git status observamos que vamos a hacer un cambio en la rama principal y si le damos git push lo subirá.

Por ejemplo si queremos tomar los cambios que han hechos otros usuarios lo que hacemos es un git pull.

Navegamos por nuestra carpeta asset y veremos los cambios en el archivo que se hizo y el mensaje que se coloco.

Creamos otro script en unity que lo llamaremos testing.

Y repetimos el proceso para subir los cambios, ahora el commit lo hago con –m para hacer un mensaje más rápido.

Navegamos otra vez por nuestro proyecto y observamos los cambios.

También entramos en los commit y veremos la historia de todos los cambios que hemos hecho.

Si entramos en el commit de remover un método, observaremos el resto del mensaje que escribimos en el nano.

En resumen aprendimos a subir cambios al archivo principal y bajar los cambios a tu ordenador. También existen otros comandos útiles con el software “Git” que podrán ser útiles para hacer cambios en el repository.

git fetch:

  • Descarga los cambios realizados en el repositorio remoto.
  • git merge nombre_rama:

  • Impacta en la rama en la que te encuentras parado, los cambios realizados en la rama “nombre_rama”.
  • git pull:

  • Unifica los comandos fetch y merge en un único comando.
  • git commit -am "mensaje":

  • Confirma los cambios realizados. El “mensaje” generalmente se usa para asociar al commit una breve descripción de los cambios realizados.
  • git push origin nombre_rama:

  • Sube la rama “nombre_rama” al servidor remoto.
  • git status:

  • Muestra el estado actual de la rama, como los cambios que hay sin comentar.
  • git add nombre_archivo:

  • Comienza a trackear el archivo “nombre_archivo”.
  • git checkout -b nombre_rama_nueva:

  • Crea una rama a partir de la que te encuentres parado con el nombre “nombre_rama_nueva”, y luego salta sobre la rama nueva, por lo que quedas parado en esta última.
  • git checkout -t origin/nombre_rama:

  • Si existe una rama remota de nombre “nombre_rama”, al ejecutar este comando se crea una rama local con el nombre “nombre_rama” para hacer un seguimiento de la rama remota con el mismo nombre.
  • git branch:

  • Lista todas las ramas locales.
  • git branch -a:

  • Lista todas las ramas locales y remotas.
  • git branch -d nombre_rama:

  • Elimina la rama local con el nombre “nombre_rama”.
  • git push origin nombre_rama:

  • Commitea los cambios desde el branch local origin al branch “nombre_rama”.
  • git remote prune origin:

  • Actualiza tu repositorio remoto en caso que algún otro desarrollador haya eliminado alguna rama remota.
  • git reset --hard HEAD:

  • Elimina los cambios realizados que aún no se hayan hecho commit.
  • git revert hash_commit:

  • Revierte el commit realizado, identificado por el “hash_commit”.
  • Para mayor información se puede ir al siguiente link

  • https://es.wikipedia.org/wiki/Git
  • También es importante saber la filosofía de las ramas, lo cual una buena práctica de cualquier proyecto informático es tener como mínimo 4 ramas (branch) lo cual lo muestro en el siguiente gráfico:

    Master(principal), Development (desarrollo), Features (funcionalidades), y Hotfix (parches).

    Master

  • Es la rama principal. Contiene el repositorio que se encuentra publicado en producción, por lo que debe estar siempre estable.
  • Development

  • Es una rama sacada de Master. Es la rama de integración, todas las nuevas funcionalidades se deben integrar en esta rama. Luego que se realice la integración y se corrijan los errores (en caso de haber alguno), es decir que la rama se encuentre estable, se puede hacer un merge de development sobre la rama Master.
  • Features

  • Cada nueva funcionalidad se debe realizar en una rama nueva, específica para esa funcionalidad. Estas se deben sacar de Development. Una vez que la funcionalidad esté desarrollada, se hace un merge de la rama sobre Development, donde se integrará con las demás funcionalidades.
  • Hotfix

  • Son errores de software que surgen en producción, por lo que se deben arreglar y publicar de forma urgente. Es por ello, que son ramas sacadas de Master. Una vez corregido el error, se debe hacer una unificación de la rama sobre Master. Al final, para que no quede desactualizada, se debe realizar la unificación de Master sobre Development.