Ejercicio Git

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.

Configuracion inicial del user 1

El user1 ejecutara los siguientes pasos:

1. User1 – Configuración inicial en github.com

1.2. Crea una cuenta en http://github.com/

1.2. Crea un repositorio en github.com

1.3. Invita al user2 como miembro: settings collaborators → añadimos el colaborador.

1.4. Copia la url del repositorio que nos da, por ejemplo:

https://github.com/monteserin/borrame.git

2. User1 – Creación del repositorio en el equipo local y subida a github.com

2.1. Crea una carpeta en su ordenador.

2.2. Dentro de la carpeta, desde la terminal, ejecuta:

git init # Crea el repositoio

2.3. Configura el repositorio local para trabajar contra la url de proyecto que habia copiado antes. La palabra origin representa el repositorio remoto al que se enviarán los cambios.

git remote add origin https://github.com/monteserin/borrame.git # 

2.4. Con el siguiente comando podremos ver contra que repositorios estamos subiendo nuestro código:

git remote -v

2.5. Crea un fichero llamado codigoParaMergear.txt con el texto User1 code.

3. User2 accede al proyecto de User1

3.1. Acepta la invitacion del user1.

3.2. Hace un clone del proyecto en su equipo.

git clone [urlDelProyecto]

3.3. Añade el fichero codigoParaMergear.txt con el texto User2 code.

3.4 . Sube el proyecto a github.

4. User2 sube el proyecto a github.com

14. Etiqueta todos los ficheros que cambiaron desde la última subida para ser subidos

git add .

15. Le ponemos nombre a la subida que vamos a hacer:

git commit -m "subida"

16. Subimos al repositorio; origin es el identificador del repositorio al que estamos haciendo la subida y master es el nombre de la rama a la que hacemos la subida.

Origin representa el repositorio remoto al que se subirán los cambios y master representa la rama local y remota desde la que subirán y a la que se subirán los cambios.

git push origin master
Ejercicio Git 1

5. User1 descarga el código a su equipo y resuelvo conflictos entre su local y el remoto haciendo un merge

El user1 ejecutara los siguientes pasos:

17. Intenta descargar el proyecto de github con el siguiente comando:

git pull origin master

18. Dara un error, indicando que debemos hacer un merge. Ejecutamos los siguientes comandos:

git add .
git commit -m "subida"
git merge origin/master

19. Tras quedarnos con el codigo final que queremos subir, ejecutamos

git add .
git commit -m "subida"
git push origin master

Desecha todos mis cambios, olvida de todo en mi rama toma lo que hay en origin/master.

git pull origin master
git fetch --all
git reset --hard origin/master

6. User1 crea una rama, trabaja en esa rama y sube su código a esa rama en el repositorio remoto

Lo mas normal es que un unico usuario trabaje en su propia rama y cuando los cambios estan listos, lo mergee en la rama principal.

El user1 ejecutara los siguientes pasos:

20. Crea una rama

git branch user1Branch

21. Se va a la rama recien creada

git checkout user1Branch

22. Modifica el fichero user1.txt, añadiendo mas codigo.

23. Sube el codigo a su rama en el repositorio remoto

git add .
git commit -m "subida"
git push origin ramaUsuario1

Para ver las ramas locales (cuyo código está almacenado en el propio equipo) del repositorio:

git branch

Para ver todas las ramas (locales y remotas):

git branch -a

Para descargar todas las ramas remotas:

git branch -r | grep -v '\->' | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
git pull --all

Para cambiar de la rama actual a la rama objetivo (estando la rama objetivo en el servidor):

git checkout origin/nombreRamaEnElServidor

7. User1 hace una Pull Request para pasar los cambios hechos en la rama recien creada a la rama principal

Vamos a mergear en origin la rama user1Branch con la rama Master. Esto es hacer una pull request. Lo hacemos desde la interfaz de github: Pull requests → New Pull Requests → Selecciono las ramas que quiero mergear → Normalmente despues de mergear una rama la eliminamos.

Si cuando queremos hacer la pullrequest de una rama a la rama de destino, en esa rama de destino otro usuario ha hecho modificaciones, tendremos que hacer un merge. Podemos hacerlo online o en nuestro editor.

Responder a una Pull Request

En la pestaña Files changed podemos añadir comentarios a los últimos cambios que ha habido.

Si queremos añadir un comentario a nivel de proyecto, podremos hacerlo justo antes de finalizar la Pull Request, pulsando en el botón Finish and Review.

Podemos añadir comentarios en formato código utilizando:

```js
const hola = 'hol';

```

8. Hacer un fork de un proyecto de github para proponerles cambios pese a no estar incluídos como colaboradores

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.