Diferencia entre revisiones de «PDM UD1 Control Versions»

De MediaWiki
Ir a la navegación Ir a la búsqueda
 
(No se muestran 6 ediciones intermedias del mismo usuario)
Línea 102: Línea 102:
  
 
<gallery caption="Creando branch nova" widths="350" heights="300px" perrow="2">
 
<gallery caption="Creando branch nova" widths="350" heights="300px" perrow="2">
−
Image:PDM_Git_32_u1.jpg | No Status Bar, prememos sobre Branch Master e creamos unha nova.
+
Image:PDM_Git_32_u2.jpg | No Status Bar, prememos sobre Branch Master e creamos unha nova.
 +
Image:PDM_Git_32_u1.jpg | Damos un nome a nova Branch.
 
Image:PDM_Git_32_b_u1.jpg | Podemos comprobar como a rama activa é a creada.
 
Image:PDM_Git_32_b_u1.jpg | Podemos comprobar como a rama activa é a creada.
 
Image:PDM_Git_50_u1.jpg | Agora necesitamos facer un Push ao servidor de GitHub.
 
Image:PDM_Git_50_u1.jpg | Agora necesitamos facer un Push ao servidor de GitHub.
Línea 114: Línea 115:
  
 
<br />
 
<br />
−
=Múltiples usuarios traballando en Git/GutHib=
+
=Múltiples usuarios traballando en Git/GitHub=
  
 
* Na sección anterior quedamos en que un usuario (Usuario1) crea unha rama a partires da rama Master de nome Rama_Usuario_1.
 
* Na sección anterior quedamos en que un usuario (Usuario1) crea unha rama a partires da rama Master de nome Rama_Usuario_1.
Línea 121: Línea 122:
  
  
−
* <u>Nota:</u> Se estades en Windows e o usuario que vai a iniciar o AndroidStudio non é administrador vos dará erros debido a que non terá permisos para facer cambios no cartafol do Android Studio. A forma máis sinxela de arranxalo é executando o Android Studio como administrador (premer botón dereito do rato sobre a icona do AndroidStudio).
+
* <u>Nota Importante:</u> Se estades en Windows e o usuario que vai a iniciar o AndroidStudio non é administrador vos dará erros debido a que non terá permisos para facer cambios no cartafol do Android Studio ou no SDK se ten que descargar algunha sdk-tools. A forma máis sinxela de arranxalo é executando o Android Studio como administrador (premer botón dereito do rato sobre a icona do AndroidStudio).
  
 +
 +
<gallery caption="Usuario 2: Facendo uso de Git/GitHub/Branch" widths="350" heights="300px" perrow="2">
 +
Image:PDM_Git_26_u2.jpg| O usuario 2 vai abrir un proxecto que xa se atopa creado en GitHub.
 +
Image:PDM_Git_27_u2.JPG| Escolle o sistema de autentificación por Password e introduce o usuario/password de GitHub (o mesmo que o do Usuario 1).
 +
Image:PDM_Git_28_u2.JPG| Enchemos os datos acerca de onde se vai a garda en local.
 +
Image:PDM_Git_29_u2.JPG| Debería aparecer o proxecto de GitHub.
 +
Image:PDM_Git_30_u2.JPG| Se vos da algún erro ('''ou se non, vos dará despois :) ), comprobade que na ventá da estructura do proxecto estea seleccionada algunha versión das 'Builds Tools'.
 +
Image:PDM_Git_32_u2.jpg| Creamos unha nova rama para este usuario.
 +
Image:PDM_Git_33_u2.JPG| Damos un novo á nova rama.
 +
Image:PDM_Git_34_u2.JPG| Podemos comprobar como a rama activa é Rama_Usuario_2
 +
Image:PDM_Git_35_u2.jpg| Creamos unha nova activity e facemos o commit (xa visto como facelo anteriormente)
 +
Image:PDM_Git_36_u2.JPG| Como os datos de GitHub non están gardados nos pide o usuario e correo do usuario que vai subir os datos ao servidor. Se vos da algún aviso premede o botón de 'Commit'.
 +
Image:PDM_Git_37_u2.JPG| Nos informa que arquivos serán subidos ao servidor.
 +
Image:PDM_Git_38_u2.JPG| Agora no servidor aparece a rama de cada usuario.
 +
 +
</gallery>
 +
 +
 +
 +
* <u>'''MOI IMPORTANTE:'''</u> Se seguides este esquema de ter a rama Master como rama onde se van gardando os datos modificados, é necesario que cando empezedes a traballer descargues á vosa rama os cambios que se atopan na rama Master.
 +
 +
Para iso tedes que seguir estes pasos:
 +
<gallery caption="Actualizando ramas" widths="350" heights="300px" perrow="2">
 +
Image:PDM_Git_57_a_u1.JPG| Nos situamos sobre a rama na que queremos incorporar os cambios.
 +
Image:PDM_Git_58_u2.jpg| Escollemos a opción de menú '''VCS => Git => Pull'''.
 +
Image:PDM_Git_59_u2.JPG| Marcamos a/as ramas que queremos unir. Neste caso a Master.
 +
Image:PDM_Git_60_u2.JPG| Xa temos os arquivos unidos coa rama Master. Fixerse que están en verde. Iso sinifica que todavía no están gardados na rama actual (Rama_Usuario_2). Cando rematemos teremos que facer un commit á nosa rama e gardar as modificacións na rama Master como se indica a continuación.
 +
</gallery>
  
  
 
<br />
 
<br />
 +
 +
* Agora supoñamos que calquera dos dous usuarios (no exemplo é o usuario 1) fai modificacións na súa rama e quere gardalas na rama Master (a maiores de na del).
 +
 +
<gallery caption="Usuario 1: Facendo uso de Git/GitHub/Branch" widths="350" heights="300px" perrow="2">
 +
Image:PDM_Git_40_u1.jpg| O usuario 1 <u>na súa rama</u> crea unha nova activity.
 +
Image:PDM_Git_41_u1.jpg | Facemos un commit and push para subilo ao servidor ao mesmo tempo.
 +
Image:PDM_Git_42_u1.jpg | Podemos comprobar como en GitHub aparecen os cambios.
 +
Image:PDM_Git_49_a_u1.jpg | Debemos cambiar a rama activa á rama na que queremos gardar os cambios feitos. Neste caso Master. Escolleremos a opción '''Checkout''' na sección de 'Local Branches'
 +
Image:PDM_Git_49_u1.jpg | Agora debemos escoller a opción '''Merge''' sobre a rama de onde veñen os cambios. Isto modificará o repositorio local.
 +
Image:PDM_Git_50_u1.jpg | Subimos os cambios ao servidor.
 +
Image:PDM_Git_53_u2.jpg | Se houbera conflitos entre os arquivos aparecerá unha ventá na que por cada arquivo debemos seleccionar a opción '''Merge'''. Isto vai pasar en arquivos nos que hai diferente contido. Explicado posteriormente.
 +
Image:PDM_Git_51_u1.jpg | Agora a rama Master está modificada.
 +
Image:PDM_Git_54_u2.jpg | Se houbera conflitos, por cada arquivo aparecerá unha ventá como a seguinte. Na parte central se indica como quedará o arquivo tras a unión (merge). Podemos editalo manualmente. Neste caso, na parte esquerda había unha liña (Main2Activity_User2) que se engadira ao arquivo AndroidManifiest.xml onde se indica que nese proxecto se creara unha activity. Ese problema xa foi resolto (se vos fixades, esa liña xa está engadida á parte central). Como se solucionan os conflitos ? Unha forma é premer ma dobre frecha no que se indica o conflito (mirar a parte dereita) e con iso engadimos dita liña á solución.
 +
</gallery>
  
  

Revisión actual del 16:30 24 sep 2019

Introdución

  • Ás veces pode ser necesario traballar como equipo con outras persoas ou traballar en diferentes lugares.
  • Para xestionar eses proxectos, Android Studio integra un software que permite gravar un historial de modificacións dos proxectos, ter diferentes versións nas que os diferentes usuarios poden traballar e fusionalas máis tarde.
Entre ese software temo:


  • Neste punto, aplicarás as bases para traballar con Git.
Esta entrada non é un manual completo do uso deste software, só serve para mostrar o máis básico, podendo chegar a facer moitas máis operacións.
  • Debemos distinguir Git con GitHub.
GitHub é un sitio web que usa o software Git para controlar as versións dos seus proxectos.
Veremos como gardar os proxectos nesa plataforma.
Indicar que na versión gratuíta, os proxectos subidos á plataforma son de acceso público.
Teremos que facer un pequeno pagamento para ter un aloxamento privado.




Instalando Git



Utilizando Git

  • Git é un programa de control de versións que non ten nada que ver con GitHub.
Podemos ter Git sen utilizar GitHub.
Nese caso, teríamos unha forma de levar diferentes versións do programa no noso computador.




Utilizando GitHub



Versións/Ramas en Git

  • Git vai gardando todas as versións dos diferentes 'commits' que se fan ao longo do desenvolvemento do proxecto. Desta forma sempre se poden consultar as versións anteriores e ver os cambios feitos.
  • Ademais Git permite facer uso de 'ramas' ou Branch. Cada rama ven ser unha versión nova dun proxecto.
Podemos ter cantas ramas queiramos e facer ramas de outras creadas previamente.
  • Non contorno de desenvolvemento de varios usuarios, unha solución típica é ter unha rama para cada usuario e unha rama principal onde se vaian engadindo as modificacións feitas.
  • Git ten unha rama inicial de nome Master. Podedes vela tanto en AndroidStudio como en GitHub:
  • Cando facemos modificación e realizamos un commit o estamos a facer sobre a rama activa.
  • Imos simular que somos dous usuarios. O usuario 2 vai ter un rama e o usuario 1 outra.


  • Neste punto todos os cambio que faga o Usuario 1 en Android Studio se gardará na rama activa actual (neste caso 'Rama_Usuario_1).
Veremos a continuación como pasar eses cambios á rama Master.



Múltiples usuarios traballando en Git/GitHub

  • Na sección anterior quedamos en que un usuario (Usuario1) crea unha rama a partires da rama Master de nome Rama_Usuario_1.
  • Agora imos partir de que un usuario novo (Usuario2) vai facer uso do mesmo proxecto, creándose unha rama para traballar el.


  • Nota Importante: Se estades en Windows e o usuario que vai a iniciar o AndroidStudio non é administrador vos dará erros debido a que non terá permisos para facer cambios no cartafol do Android Studio ou no SDK se ten que descargar algunha sdk-tools. A forma máis sinxela de arranxalo é executando o Android Studio como administrador (premer botón dereito do rato sobre a icona do AndroidStudio).



  • MOI IMPORTANTE: Se seguides este esquema de ter a rama Master como rama onde se van gardando os datos modificados, é necesario que cando empezedes a traballer descargues á vosa rama os cambios que se atopan na rama Master.

Para iso tedes que seguir estes pasos:



  • Agora supoñamos que calquera dos dous usuarios (no exemplo é o usuario 1) fai modificacións na súa rama e quere gardalas na rama Master (a maiores de na del).











-- Ángel D. Fernández González -- (2018).