Cómo utilizar git y GitHub con Android Studio

Git es un sistema de control de versiones cuyo uso está muy extendido, y que por supuesto puedes utilizar en Android Studio. Si no sabes utilizar git, te recomiendo este manual: Aprende Git: ... y, de camino, GitHub.

Logo de GitHub

¿Tienes git instalado?

Abre la ventana accesoria Terminal en Android Studio (si no te aparece en la parte inferior, pulsa Alt F12 o View > Tool Windows > Terminal), introduce git --version y pulsa intro. Si lo tienes instalado, te aparecerá el número de versión:

Versión de git en Android Studio

Si no lo tienes instalado, no te preocupes, ya que git es una herramienta gratuita. Puedes descargarlo de https://git-scm.com/downloads.

Descargar git para IntelliJ

En el monitor de la derecha aparece el número de la última versión (2.16.1 cuando tomé esta captura de pantalla) y el vínculo para descargar la versión apropiada para tu sistema operativo. Como ves, hay versiones para Mac OS X, Windows y Linux/Unix. En Windows y en Mac OS X, se te abrirá automáticamente la ventana de descarga; descarga el archivo .exe (.dmg en el caso de Mac), haz doble clic en él y sigue las instrucciones.

En Linux/Unix, tienes una serie de instrucciones para instalarlo según sea tu distribución.

Una vez instalado, comprueba con git --version que te aparece correctamente la versión de git que tienes instalada.

Cómo configurar git

En primer lugar, vas a configurar tu nombre y dirección de e-mail en git. Lo único que tienes que hacer es, en la misma terminal donde has comprobado la versión de git, introducir las siguientes líneas:

git config --global user.name "Tu nombre de usuario"
git config --global user.email "Tu e-mail"

Y pulsa intro. Para comprobar que la información se ha introducido correctamente, introduce git config --list y pulsa intro:

Configurar git IntelliJ

Cómo crear un repositorio local

Para crear un repositorio local utilizando git, haz clic en VCS > Enable Version Control Integration > Seleccionar Git en Select a version control system to associate with the project root:. Pulsa OK.

Seleccionar git IntelliJ

Si no te aparece esta opción, crea el repositorio Git directamente:

Import into VC IntelliJ

Se te abrirá una ventana en la que has de seleccionar la carpeta en la que se encuentra tu proyecto. Haz clic en OK.

Se creará una carpeta oculta, llamada .git, en la raíz del proyecto. Los documentos de tu proyecto que no hayas añadido al repositorio aparecerán de color marrón.

Clases para git IntelliJ

Cómo crear un archivo .gitignore

En la raíz del proyecto (donde te ha aparecido la carpeta oculta .git) puedes crear tu archivo .gitignore. Este archivo, también oculto, contiene información sobre los tipos de archivo que git va a ignorar (archivos que crea Android Studio de manera temporal, y que no son necesarios para tu proyecto). Yo utilizo Gitignore para generar de manera automática mi archivo .gitignore.

Archivos creados con Git en IntelliJ

Este proyecto se trata de BerenWeb, mi primer reto de programación.

Cómo añadir documentos (commit)

Lo primero que tienes que hacer, una vez que hayas creado el repositorio, es añadir todos los documentos (add). Haz clic derecho en la carpeta raíz > Git > Add, Ctrl Alt A o, seleccionada la carpeta raíz, haz clic en VCS > Git > Add.

Add git IntelliJ

Una vez hecho esto, los documentos se mostrarán de color verde:

Documentos added git IntelliJ

Y, a continuación, lo que queda por hacer es hacer un commit, es decir, añadirlos al repositorio. Al igual que con Add, puedes accionar Commit pinchando con el botón derecho en la carpeta raíz o seleccionándola y pulsando en VCS > Git > Commit Directory…

Commit directory git IntelliJ

También puedes utilizar el botón que aparece arriba a la derecha:

Commit icon IntelliJ

Se abrirá la ventana de commit, donde deberás introducir un comentario (Commit message). En Diff, debajo del espacio para el comentario, aparece el antes y el después en aquellos archivos que sean modificados.

Pulsa Commit.

Ventana commit git IntelliJ

La ventana de "Author" aparece en blanco si solo hay uno

Antes de realizar el commit, Android Studio analizará el código y te mostrará una ventana preguntándote si quieres revisar el código, en caso de haber encontrado errores o de tener avisos.

Code Analysis git IntelliJ

Si quieres revisarlos, pulsa Review;  de lo contrario, pulsa Commit.

Los nombres de los documentos se mostrarán en el Project Scope de color negro una vez hecho el commit; si los modificas, se mostrarán de color azul.

Puedes observar la información sobre el repositorio que has creado haciendo clic en View > Tool Windows > Version Control o utilizando el atajo Alt 9.

Version Control Log Git IntelliJ

Cuando creas un nuevo archivo te aparecerá una ventana preguntándote si quieres que se añada al repositorio:

Add to git IntelliJ

Seleccionar Remember, don't ask again si quieres que Android Studio recuerde tu elección. Ten en cuenta que, si añades un nuevo archivo a tu proyecto pegándolo en la carpeta de este (como por ejemplo imágenes), te aparecerá en el Project Scope de color marrón y que tendrás que seleccionarlo y añadirlo manualmente (Ctrl Alt A). 

Cómo cancelar un commit (revert)

En la ventana de Version Control (Alt 9), haz clic en la pestaña Log. Aquí verás un resumen gráfico de todos los commits que has hecho, ordenados gráficamente en ramificaciones (branches, de las que hablaremos más adelante en esta lección).

Haz clic con el botón derecho en el último commit (el de arriba del todo) y selecciona Revert.

Revert commit IntelliJ

Se te abrirá de inmediato la ventana de commit, con un comentario ya introducido en Commit message. Haz clic en Commit, como antes.

Commit Message revert IntelliJ

En el Log aparecerá ahora lo siguiente:

Revert commit en log IntelliJ

Cómo crear ramificaciones (branches) en git

Para crear una ramificación, haz clic en VCS > Git > Branches, o haz clic en Git: master, que aparece abajo a la derecha.

Nueva ramificación git IntelliJ

Esta pequeña ventana muestra las ramificaciones que contiene el repositorio; tanto las locales como las remotas. La ramificación inicial local recibe el nombre predeterminado de master, mientras la inicial remota recibe el nombre de origin. Si quieres saber en qué ramificación te encuentras, puedes mirar en la esquina inferior derecha de Android Studio.

GIt master IntelliJ

Si haces clic ahí, también se te abrirá la ventana de las ramificaciones. En la ventana verás que, en el apartado Remote Branches, aparece el nombre de la rama remota, y la rama local a la que está conectada, por ejemplo origin/master.

Para crear una ramificación nueva, pulsa + New Branch. Dale un nombre a la ramificación en la siguiente ventana. Ten en cuenta que en el nombre de la ramificación solo pueden aparecer caracteres alfanuméricos y barras bajas.

New Branch IntelliJ

Si dejas seleccionado Checkout branch, no solamente crearás la ramificación, sino que pasarás a "estar" en ella. Haz clic en OK.

Nueva ramificación IntelliJ

Para volver a otra ramificación, haz clic en VCS > Git > Branches…, selecciona la ramificación a la que quieres pasarte y haz clic en Checkout.

Checkout branch IntelliJ

Cómo utilizar GitHub con Android Studio

Cómo crear un repositorio remoto y sincronizarlo con el repositorio local de Android Studio

¡Regístrate en https://github.com si no lo has hecho todavía!

Una vez registrado, puedes crear tantos repositorios como quieras, pero si tu cuenta es gratuita, todos los repositorios serán públicos.

Octocat, la mascota de github

Para conectar con un repositorio remoto en Android Studio, haz clic en VCS > Import into Version Control > Share Project on GitHub.

En la ventana que se te abre a continuación, selecciona Password a la derecha e introduce tu nombre de usuario y tu contraseña. Haz clic en Login.

Log in github IntelliJ

Aparecerá una ventana en la que podrás cambiar el nombre del repositorio remoto, una descripción y, si tu cuenta es de pago, podrás seleccionar si quieres que el repositorio sea privado.

Share Project On GitHub

Una vez hayas introducido una descripción, haz clic en Share (compartir).

Desde ahora, cuando quieras hacer un Commit no olvides que tienes que seleccionar Commit and Push....

Commit and Push IntelliJ

Define Remote

Si al hacer clic en Commit and Push te aparece lo siguiente, haz clic en Define Remote. El problema reside en que tienes que conectar tu repositorio local con el repositorio que has creado en GitHub.

Define Remote GitHub IntelliJ

La siguiente ventana te solicita que introduzcas la URL del repositorio que acabas de crear en GitHub:

La URL que necesitas se encuentra aquí:

GitHub repositorio URL

Copia y pega la URL en la ventana de Android Studio

Una vez resuelto el problema, debería aparecerte algo similar a la siguiente ventana, que te mostrará los cambios que vas a enviar al repositorio en GitHub.

Push Commits IntelliJ

Haz clic en Push si todo está bien. Los cambios aparecerán en tu repositorio en GitHub:

Repositorio en GitHub

Si creas un archivo README en la página de GitHub (o si haces cualquier otra modificación de los archivos de tu repositorio), verás que no podrás sincronizar el proyecto en Android Studio en esa misma ramificación.

Tras crear README en la ramificación master de GitHub, pulsar Commit and Push para sincronizar la ramificación master local muestra la siguiente ventana:

Merge ventana IntelliJ

Clic en Merge bastará para fusionar la ramificación master local y la ramificación master en GitHub. En la ventana accesoria Version Control en Android Studio podrás ver el detalle de la fusión:

Merge remote and local branches

La bola en cada línea marca en qué ramificación se produce la modificación

Como puedes ver, la fusión de ambas ramificaciones se produce después de introducir la última modificación. Esta es una forma sencilla de resolver conflictos en una misma ramificación, cuando los commits se realizan desde lugares distintos (distintos usuarios, por ejemplo), siempre y cuando no se modifiquen los mismos documentos.

Cómo crear gists

Un gist es un pedazo de código que existe aparte del proyecto. En Android Studio se puede crear un gist tanto desde un archivo, como desde un pedazo seleccionado de código.

En primer lugar, haz clic con el botón derecho en el archivo del que quieras crear un gist en la ventana en el Project Scope y selecciona Create Gist (esta opción está abajo del todo).

New Gist IntelliJ

Introduce una descripción y selecciona si el gist va a ser secreto (solo accesible mediante la url), anónimo y si quieres que, una vez creado, se abra en el navegador. Pulsa OK.

El gist que acabo de crear está disponible aquí: https://gist.github.com/javautodidacta/e836c7d0b1b106819fe63efe7f530a33. Si quieres utilizar un url más breve, puedes utilizar el servicio de Git.io, y obtendrás una url más corta que contiene la palabra git al principio: https://git.io/vNpqw en mi caso.

Para crear un gist a partir de un pedazo de código seleccionado, selecciona un fragmento de código, haz clic en él con el botón derecho, haz clic en Create Gist y sigue los mismos pasos.

Utilizamos cookies propias y de terceros para realizar el análisis de la navegación de los usuarios y mejorar nuestros servicios. Si continúa navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información en nuestra política de cookies. ACEPTAR

Aviso de cookies