Como sabes, es una buena práctica utilizar siempre la gestión de control de fuentes (SCM) para tus proyectos, incluso los personales. Sabes que Android Studio tiene una increíble integración con Git para la gestión del control de fuentes? Si no lo sabías o no tienes experiencia en su uso, sigue leyendo este post. Incluso si ya has utilizado la integración con Git de Android Studio, es posible que cojas algunos trucos útiles en este post.
Te mostraré las muchas características del soporte de Git en Android Studio y también lo fácil que es hacer las diferentes operaciones de Git (commit, push, pull, branch, etc.) desde dentro de Android Studio.
En este tutorial, te guiaré a través de la lista de características SCM que están disponibles en Android Studio. Veremos las siguientes áreas:
- integrar un nuevo proyecto de Android Studio con Git
- trabajar con GitHub o Bitbucket
- explorar la ventana de control de versiones
- commits
- branches
- empujando y sacando de un repositorio remoto
- Requisitos previos
- 1. Cree un proyecto de Android Studio
- 2. Integrar Git
- 3. Integración con GitHub o Bitbucket
- 4. La ventana de control de versiones
- La pestaña de cambios locales
- La pestaña Consola
- La pestaña de registro
- 5. Haciendo un Commit
- Viendo el registro de commit
- 6. Crear una rama Git
- 7. Fusión de ramas Git
- Fusionar, Checkout, Borrar, Comparar, Renombrar Rama
- 8. Empujar a un repositorio remoto
- 9. Pulling desde un repositorio remoto
- Conclusión
Requisitos previos
Para poder seguir este tutorial, necesitarás:
- un conocimiento básico del sistema de control de versiones distribuido Git
- Android Studio 3.0 o superior
1. Cree un proyecto de Android Studio
Encienda Android Studio y cree un nuevo proyecto (puede llamarlo GitApplicationDemo
) con una actividad vacía llamada MainActivity
.
2. Integrar Git
Después de que su proyecto de Android Studio se haya configurado, haga clic en el menú VCS, pase el ratón por el menú Importar en Control de Versiones, y seleccione Crear Repositorio Git…
A continuación, selecciona la carpeta padre superior de tu proyecto de Android Studio.
Pulsa el botón Aceptar para inicializar el proyecto con Git. Bajo el capó, Android Studio ejecuta el comando Git:
git init
Como recordatorio, esto es lo que hará este comando:
Este comando crea un repositorio Git vacío-básicamente un directorio
.git
con subdirectorios paraobjects
,refs/heads
,refs/tags
, y archivos de plantilla. También se crea un archivo inicialHEAD
que hace referencia al HEAD de la rama maestra.
Se abrirá un diálogo de información:
Esto nos habla de un archivo llamado vcs.xml dentro de la carpeta .idea. Esta carpeta sólo contiene la configuración específica del proyecto. Tenga en cuenta que este es el formato utilizado por todas las versiones recientes de IntelliJ IDEA.
En realidad, los archivos en el .idea/
no deben llegar a Git-por lo que debe agregarlo a .gitignore
.
Por defecto, estamos cambiados a la rama maestra. Siempre puedes ver la rama actual de tu proyecto en la esquina inferior derecha de Android Studio.
3. Integración con GitHub o Bitbucket
Puedes trabajar fácilmente en cualquiera de tus repositorios de código fuente de Android que estén en una cuenta de GitHub o Bitbucket en Android Studio. Déjame mostrarte cómo hacerlo.
Navega al Archivo > Nuevo > Proyecto desde el Control de Versiones > GitHub.
(Si quieres trabajar en un repo desde Bitbucket, selecciona Bitbucket en su lugar. Si sólo quieres clonar un repo de Git desde Internet en tu máquina local, selecciona la opción de menú Git.)
A continuación, introduce las credenciales de tu cuenta de GitHub y haz clic en Iniciar sesión.
Si el inicio de sesión fue exitoso, aparecerá el diálogo Clonar Repositorio. Este diálogo muestra un desplegable que contiene una lista de repositorios en GitHub que actualmente posee o en los que ha trabajado.
Haga clic en Clonar para clonar el repo en su máquina local dentro del directorio padre ya seleccionado.
4. La ventana de control de versiones
Después de iniciar con éxito nuestro proyecto de Android Studio con Git, Android Studio mostrará la ventana de control de versiones. Haz clic en la pestaña de Control de versiones (en la parte inferior izquierda de Android Studio) y vamos a explorar lo que tenemos allí. Ten en cuenta que puedes usar Alt-9 para abrir esta ventana rápidamente.
Dentro de esta ventana, tenemos tres pestañas diferentes: Cambios locales, Consola y Registro.
La pestaña de cambios locales
Muestra la lista de archivos que han sido modificados localmente (en su propia máquina) y que aún no han sido confirmados en el repositorio.
Veamos las barras de herramientas de ítems disponibles cuando está en la pestaña de cambios locales.
- Haga clic en este icono para refrescar el estado de sus archivos en el lugar de trabajo actual. El acceso directo es Control-F5.
- Al hacer clic en este icono se confirmarán los cambios actuales. El acceso directo es Control-Alt-Z.
- Haga clic en este icono para deshacer los cambios seleccionados.
- Haga clic en este icono para crear una nueva lista de cambios. Tenga en cuenta que una lista de cambios es un conjunto de cambios en los archivos que representa un cambio lógico en el código fuente. El acceso directo es Alt-Insert.
- Haga clic en este botón para eliminar la lista de cambios seleccionada.
- Para activar una lista de cambios, simplemente haga clic en este icono.
- Para mover un archivo seleccionado a otra lista de cambios, haga clic en este icono.
- Haga clic en este icono para ampliar y ver todos los archivos.
- Haga clic en este icono para contraer todos los archivos.
- Haga clic en este icono para mostrar los archivos modificados que están agrupados por carpetas.
- Haga clic en este icono para copiar la ruta del archivo seleccionado en el portapapeles del sistema.
- Pulse este icono para mostrar el nodo de archivos ignorados con la lista de archivos existentes ignorados por Git.
- Pulse este icono para configurar la lista de archivos que serán ignorados por Git.
- Haga clic en este icono para abrir el panel de vista previa de diferencia para comparar el archivo actual con la última revisión confirmada.
La pestaña Consola
Dentro de esta pestaña, vemos el resultado de realizar comandos relacionados con Git. Ten en cuenta que no puedes escribir comandos Git dentro de esta pestaña- hazlo en la ventana de terminal en Android Studio en su lugar.
La pestaña de registro
Esta pestaña muestra todos los cambios que fueron confirmados en todas las ramas del repositorio local y remoto. Dentro de esta pestaña, puede navegar por los commits de cualquier rama.
El cuadro de búsqueda se utiliza para buscar confirmaciones que tengan la cadena introducida o una expresión regular.
- Este desplegable que se utiliza para filtrar los commits por rama. Para ver todos los commits locales y remotos, basta con seleccionar Todos (el valor por defecto).
- Para filtrar los commits por el autor, utilice esta lista desplegable. Tendrás que escribir el nombre del autor para ver sus confirmaciones. Selecciona Todos para ver los commits de todos los usuarios.
- Usa esta lista desplegable para filtrar las confirmaciones por un rango de tiempo o por una fecha específica. Para especificar la fecha, simplemente haga clic en Seleccionar y elija la fecha. Seleccione Todo para ver los commits realizados en todas las fechas.
- Use este menú desplegable para filtrar las confirmaciones por la ruta de los archivos modificados.
- Este botón (IntelliSort) permite una forma más conveniente de ver las fusiones, mostrando primero las confirmaciones entrantes, directamente debajo de la confirmación de la fusión.
- Si este botón está activado, las ramas largas se muestran en su totalidad, incluso si no hay confirmaciones en ellas.
- Utiliza este botón para refrescar la lista de commits en el proyecto.
- Para ir a un hash, etiqueta o rama, simplemente utilice este botón.
- Haga clic en este botón para aplicar los cambios de la confirmación seleccionada a la rama actual.
- Haga clic en este botón para resaltar los compromisos de la rama seleccionada que aún no se han aplicado a la rama actual.
Puede obtener más información sobre la ventana de la herramienta de control de versiones en la documentación de IntelliJ IDEA.
5. Haciendo un Commit
Notarás que cuando configuramos la integración de Git con nuestro proyecto de Android Studio, el color de nuestro nombre de archivo pasó a ser marrón. Según la documentación oficial de IntelliJ IDEA, para los archivos con etiquetas marrones:
El archivo existe localmente, pero no está en el repositorio, y no está programado para ser añadido.
Veamos ahora cómo hacer un commit en Android Studio. Pero antes, tenemos que añadir nuestros cambios en el directorio de trabajo al área de staging. En la consola, utilizaríamos el comando git add
.
git add <file> || <directory>
Pero podemos hacerlo directamente desde Android Studio. Selecciona el desplegable Archivos no versionados en la pestaña Cambios locales, haz clic con el botón derecho y ve a Git > Añadir o utiliza Control-Alt-A. Recuerde que la selección de la carpeta raíz agregará todo dentro de ella a la zona de puesta en escena.
Ahora, observarás que los colores de las etiquetas de tus archivos han cambiado de marrón a verde. Esto es lo que dice la documentación de IntelliJ IDEA sobre los nombres de archivos que se colorean en verde:
El archivo está programado para ser añadido al repositorio.
Para saber más sobre los diferentes colores que puede tener un nombre de archivo en función del estado del mismo en Android Studio (IntelliJ IDEA), consulta la documentación sobre los aspectos destacados del estado del archivo.
Para finalmente confirmar nuestros cambios, hacemos clic en el botón de confirmar cambios en la pestaña de cambios locales, y aparecerá el diálogo de confirmar cambios.
- Aquí podemos seleccionar o deseleccionar los archivos que deben ser incluidos en esta confirmación. Por defecto, se marcan todos los archivos escaneados.
- Escribe aquí tu mensaje de confirmación. Si tienes un mensaje de confirmación previamente escrito, se mostrará aquí por defecto.
- Seleccione la(s) operación(es) a realizar antes de confirmar en Git.
- Comparación lado a lado de los archivos modificados.
- Con este botón desplegable, puede confirmar y empujar o sólo confirmar.
Así que para hacer un commit, vamos a escribir un mensaje de commit:
Initial commit
Seleccione Commit en el desplegable Commit para finalmente confirmar sus cambios. Ten en cuenta que puedes usar el atajo Control-K para confirmar los cambios en cualquier momento desde Android Studio.
Si ahora vuelves a visitar la pestaña de Cambios Locales en la ventana de Control de Versiones, ya no verás ninguno de tus archivos listados allí-porque los hemos confirmado con éxito en nuestro repo local.
Note que también puede navegar a VCS > Git > Commit File… para hacer un commit y VCS > Git > Add para añadir un archivo para el staging. Además, puede hacer clic en el icono de confirmación de cambios en la barra de herramientas superior principal en Android Studio para hacer una confirmación rápidamente (o confirmar y empujar).
En nuestra clase MainActivity.kt, hice una simple modificación en la clase anulando onResume()
. Notarás que el color del nombre del archivo después de la modificación es ahora azul; esto significa que hemos modificado el archivo.
Viendo el registro de commit
Ahora, vuelve a visitar la ventana de control de versiones una vez más y ve a la pestaña de registro. Lo que verá ahora son las confirmaciones que se han hecho en este proyecto. Para obtener más detalles sobre cualquier confirmación, simplemente haga clic en él.
- Este panel principal muestra todos los commits del proyecto según el filtro seleccionado. Es decir, nos muestra el historial de commits.
- Este panel muestra los archivos y carpetas afectados por el commit seleccionado en el panel del historial de commits.
- Este panel muestra más detalles sobre el commit seleccionado.
Al hacer clic con el botón derecho en una confirmación, también puede ver un menú que le permite copiar el número de revisión, crear un parche, comprobar una revisión, bifurcarse desde esa confirmación, crear una nueva etiqueta y restablecer la rama actual a esa confirmación.
Veamos ahora cómo podemos ver qué código se ha añadido, editado o eliminado. En otras palabras, queremos comprobar en más detalle los cambios realizados.
Simplemente haz clic en el icono de mostrar diferencia sobre la ventana donde se muestran los archivos afectados por el commit. Un atajo es usar Control-D o hacer doble clic en el archivo o carpeta.
Lo que verá es un diálogo de Mostrar Diferencias, mostrando las diferencias entre la confirmación anterior y la confirmación seleccionada.
Una región de color verde en el archivo resalta las líneas que se añadieron al archivo-debería ver algunas si está siguiendo el proceso. Las regiones grises destacan las líneas que fueron eliminadas. Y las azules resaltan las líneas que fueron modificadas. Intente explorar los filtros y los botones de iconos disponibles en la parte superior del cuadro de diálogo Mostrar diferencias para aprender más sobre él.
¡Note que también puede ver los cambios en las imágenes en el diálogo Mostrar Diferencias!
Al hacer clic con el botón derecho en un archivo, también tiene la opción de ver la diferencia entre la última confirmación y la actual confirmación de ese archivo-mostrar diferencias (atajo de teclado Control-D). También puede editar el código fuente (F4), abrir la versión en el repositorio, revertir los cambios seleccionados, mostrar el historial de la revisión y mostrar los detalles de la confirmación de ese archivo.
6. Crear una rama Git
La rama maestra será la actual por defecto. Sin embargo, se recomienda siempre bifurcarse de la maestra y hacer su trabajo en una rama separada, específica de la característica. Cuando termines de codificar tu característica (y cuando hayas probado tus cambios), entonces fusionas tus cambios a la rama maestra.
Veamos cómo crear una rama desde la maestra.
Vamos a la esquina inferior derecha de Android Studio y hacemos clic en el menú desplegable Git: master.
Pulsa en el botón New Branch.
Ingresa el nombre de la rama. En nuestro caso, utiliza dev.
Por último, haz clic en el botón OK para que Android Studio cree automáticamente la rama dev y también el checkout a esa rama.
Ahora estamos en la rama dev. Como puedes ver a continuación:
Bajo el capó, Android Studio ejecuta el comando:
git checkout -b dev
Nota que también podemos crear una nueva rama navegando a VCS > Git > Branches > New Branch.
7. Fusión de ramas Git
Dentro de la rama dev, basta con crear una actividad básica ProfileActivity.kt y sus archivos de diseño y confirmar los cambios. Vamos a ver cómo fusionar dev a master directamente dentro de Android Studio.
Vamos a hacer checkout de la rama actual (dev) a la rama master (lo que significa que estamos pasando de dev a master).
Fusionar, Checkout, Borrar, Comparar, Renombrar Rama
Si haces clic en una rama, se te mostrarán algunas operaciones que puedes realizar en esa rama. Las operaciones incluyen la fusión, la comparación de dos ramas, el cambio de nombre de la rama, el cambio de base, la comprobación y la eliminación de la rama.
En este post vamos a ver cómo fusionar una rama. En la rama maestra, fusionar la rama dev en navegando a la rama dev y haciendo clic en Merge en el menú.
¡Ya está! Ahora hemos fusionado con éxito nuestra rama dev a la rama master.
En segundo plano, Android Studio ejecuta el comando:
git merge dev
Nótese que también podemos hacer una fusión avanzada dentro de Android Studio. Podemos especificar la estrategia de fusión (Resolve, Recursive, Octopus, Ours, o Subtree) o no utilizar el modo de fusión rápida.
Para configurar esto a la hora de fusionar, navega a VCS > Git > Merge Changes…
Aquí puedes seleccionar varias ramas para fusionar, seleccionar la estrategia de fusión y escribir un mensaje de commit. Es muy recomendable que entiendas bien estas estrategias de fusión y si debes usar el modo de avance rápido antes de fusionar.
8. Empujar a un repositorio remoto
Todo proyecto Git debe tener un repositorio remoto o central donde otros desarrolladores puedan colaborar en el proyecto desde cualquier parte del mundo. En Android Studio, también es posible empujar nuestros commits o cambios a un repositorio remoto. Para ello, navegamos a VCS > Git > Push…
Aquí podemos añadir la URL del repositorio remoto pulsando en el enlace Define remote en el diálogo Push Commits que aparece. Finalmente, haga clic en el botón Push cuando haya terminado. Un atajo es usar Control-Shift-K.
Android Studio ejecuta el siguiente comando entre bastidores:
git push
También puedes hacer rápidamente un commit con un push haciendo clic en el icono de commit changes en la barra de herramientas principal o usando Control-K.
9. Pulling desde un repositorio remoto
Para actualizar su proyecto (para hacer un pull) con los últimos cambios del repositorio remoto (ya debería haber añadido el origen remoto), navegue hasta VCS > Git > Pull. Esto actualizará automáticamente su proyecto de Android Studio con el código más reciente del repositorio remoto.
Para iniciar un pull, también puede hacer clic en el icono de actualización del proyecto en la barra de herramientas principal o utilizar el atajo Control-T.
Si haces esto, Android Studio ejecutará el comando Git pull
entre bastidores:
git pull
Ten en cuenta que si te encuentras con un conflicto de fusión mientras tiras o empujas, Android Studio mostrará un diálogo de conflicto de fusión muy práctico que te ayudará a resolver ese conflicto.
Conclusión
En este tutorial, has aprendido lo fácil que es realizar diferentes operaciones Git que normalmente podrías hacer en la línea de comandos o en el terminal. El uso de las herramientas Git de Android Studio hace más fácil y eficiente la colaboración en proyectos Android con otros desarrolladores.
Para aprender más sobre codificación para Android, ¡consulta algunos de nuestros otros cursos y tutoriales aquí en Envato Tuts+!
-
AndroidMostrar diálogos Material Design en una aplicación AndroidChike Mgbemena
-
AndroidCrear una interfaz con pestañas Material Design Tabbed Interface in an Android AppChike Mgbemena
-
AndroidConstruye una aplicación de música con una plantilla de aplicación AndroidChike Mgbemena