Archivo de la etiqueta: GitHub

Tutorial de Git – Aprende Git y GitHub/GitLab de manera fácil, rápida y sencilla – Parte 5

En el siguiente enlace tienes el índice para acceder al resto de entradas de este tutorial:

Hola a todos:

El el post anterior aprendimos lo que era un repositorio remoto y como crear una cuenta de GitHub y alojar nuestro proyecto en GitHub, hoy vamos a seguir aprendiendo un poco más sobre GitHub.

Clonar un repositorio: git clone

Si queremos descargar el código desde github, por ejemplo si borramos nuestro proyecto y queremos volver a descargarlo o queremos instalar nuestro proyecto en otra maquina solo tenemos que copiar la url de nuestro proyecto en github, para ello pulsamos en clone or download y copiamos la url.

Por ejemplo vamos a eliminar la carpeta proyectoGit1 de nuestro proyecto en nuestro ordenador.

Supongamos que la hemos borrado por error y hemos perdido todo nuestro proyecto.

Bien al tener alojado nuestro repositorio en GitHub podemos recuperarlo de la siguiente manera:

Primero vamos a nuestro repositorio en GitHub y pulsamos en el botón “Clone or download” y copiamos la url de nuestro repositorio:

Luego desde el bash navegamos hasta el lugar donde queremos clonar el proyecto y escribimos git clone y la url de nuestro proyecto, por ejemplo:

git clone https://github.com/Reviblog/holamundo.git

Ahora tendremos una copia exacta de nuestro repositorio en GitHub.

Como GitHub es una plataforma donde hay miles de proyectos de código abierto podemos clonar cualquier repositorio público, puedes descubrir proyectos muy interesantes en GitHub y clonarlos para estudiar su código y/o adaptarlo a tus necesidades.

Actualizar los cambios del repositorio remoto a nuestro repositorio local – fetch y pull

Imaginemos que se han realizado cambios en el repositorio remoto, por ejemplo que otro usuario ha añadido cambios y queremos actualizar estos cambios en nuestro repositorio local.

Para verlo con un ejemplo vamos a añadir un archivo desde GitHub a nuestro repositorio:

Para ello pulsamos en el botón Create new file:

Y editamos un archivo al que le podemos llamar por ejemplo productos.html y si queremos podemos poner unas líneas de código html dentro:

Para que la creación del nuevo archivo se haga efectiva tenemos que hacer un commit, debajo del editor veremos que hay un formulario para hacer commit, escribimos una descripción para el commit y pulsamos el botón Commit new file.

Ahora tenemos el archivo productos.html en el repositorio remoto de GitHub, sin embargo en nuestro repositorio local no lo tenemos, vamos a ver como actualizar nuestro repositorio local para que los cambios que se han producido en el repositorio remoto se sincronicen.

fetch

Siempre en un repositorio tienes una rama oculta, que puedes ver al usar git branch -a.

Esa rama oculta es origin/master.

Al usar git fetch origin, bajamos los cambios del repositorio remoto a la rama origin/master:

git fetch origin

Ahora ya tienes los cambios en origin/master, aparente no ha pasado nada, seguimos sin tener el archivo productos.html, para que los cambios se hagan efectivos tenemos que pasarlos a la rama master, para eso usamos el siguiente comando:

git merge origin/master

Ahora ya tenemos el archivo productos.html en nuestro repositorio local.

pull

Al usar el comando git pull estamos combinando git fetch + git merge.

Vamos a seguir los mismos pasos que dimos para crear el archivo productos.html y vamos a crear en GitHub un archivo que se llame por ejemplo vendedores.html.

Una vez que lo tengas creado y hayas hecho el commit vamos a actualizar este cambio del repositorio remoto a nuestro repositorio local, pero esta vez en lugar de utilizar el comando git fetch vamos a utilizar el siguiente comando:

git pull origin master

Ahora ya tenemos el archivo vendedores.html que acabamos de crear en GitHub en nuestro repositorio local.

Con git pull  nos ahorramos el usar un comando más, pero no conviene utilizar git pull si no estamos seguros de que cambios se pueda traer del repositorio remoto.

Fork

GitHub nos permite hacer una copia exacta de un repositorio para poder hacer modificaciones del repositorio original sin afectar a este, a esto se le llama fork.

Puedes encontrar un repositorio público de un proyecto que te resulte interesante y realizar cambios en este si afectar al original.

Cuando accedes a la página principal de GitHub te da la opción de explorar repositorios públicos:

Cuando entramos en un repositorio en la parte de arriba a la derecha tenemos un botón “Fork” donde se indica además el número de forks que se han realizado de este repositorio.

Al pulsar en el botón automáticamente se creará una copia exacta del repositorio en tu cuenta de github.

Los cambios que realicemos en este repositorio no van a modificar el repositorio original sino nuestra copia.

Una vez que hemos hecho el fork del repositorio para traerlo a nuestro ordenador solo tenemos que crear una carpeta, situarnos dentro de ella desde el terminal y utilizar el comando git clone ruta_del_repositorio.

Por ejemplo: 

git clone https://github.com/Reviblog/holamundo.git

pull request

Cuando varias personas colaboran en un mismo proyecto es común que cada colaborador haga un fork del proyecto original para poder realizar cambios sin afectar al proyecto original, una vez hechos los cambios el colaborador debe solicitar al administrador del proyecto original para que integre esos cambios en la rama original.

Vamos a ver con un ejemplo práctico cómo funciona:

Imaginemos que hemos hecho un fork de un repositorio,  para verlo con más claridad vamos a simular que somos otro usuario, para ello podemos hacer la prueba creando otra cuenta de GitHub con otra cuenta de correo que tengamos y haciendo un fork del repositorio holamundo  que tenemos en nuestra primera cuenta.

Para poder estar logeado con las dos cuentas puedes utilizar dos navegadores (Firefox y Chrome… o los que tengas instalados), si solo tienes un navegador deberás cerrar sesión antes de iniciar con la otra cuenta.

Para hacer un fork iniciamos sesión en GitHub con la segunda cuenta que hemos creado y en el buscador de la cabecera ponemos el nombre de nuestro usuario de la primera cuenta y  el nombre del repositorio, después pulsamos el botón “All GitHub” para que busque en todo GitHub.

Una vez localizado nuestro repositorio entramos en él y hacemos un fork desde nuestra segunda cuenta de GitHub pulsando en el botón fork:

Tras unos segundos tendremos una copia del proyecto holamundo en nuestra segunda cuenta de GitHub.

Entramos en la copia del proyecto  que se ha creado en nuestra segunda cuenta de usuario y copiamos la url del proyecto para hacer un clone:

Creamos una carpeta que podemos llamar prueba_pull_request y situándonos en ella desde la consola hacemos un clone:

git clone https://github.com/edurevilla/holamundo.git

Esto habrá creado una carpeta holamundo dentro de la carpeta con el contenido del proyecto.

Desde consola entramos en la carpeta holamundo que se acaba de crear:

cd holamundo

Ahora vamos a editar el archivo productos.html y añadimos algunas lineas de código:

<html>
  <head></head>
  <body>
<h1>Listado de productos</h1>
    <ul>
	<li>Producto 1</li>
	<li>Producto 2</li>
	<li>Producto 3</li>
	<li>Producto 4</li>
    </ul>
  </body>
</html>

Una vez modificado el archivo añadimos los cambios al stage:

git add .

Y hacemos un commit:

git commit -m "Hemos modificado productos.html"

Por último subimos los cambios al repositorio de github:

git push -u origin master

Nos pedirá que introduzcamos el usuario y contraseña de nuestra cuenta de GitHub, en este caso el de la segunda cuenta que hemos creado de prueba.

Bien, ahora tenemos dos versiones diferentes del proyecto holamundo, la original y la del fork que hemos realizado con nuestra segunda cuenta de usuario.

Queremos que los cambios que hemos realizado en nuestro fork del proyecto se integren en el repositorio original, para ello tenemos que hacer una petición “pull request“.

Para ello tenemos que seleccionar el botón “New pull request“:

A continuación se mostrará un resumen de los cambios con respecto a la rama original, una vez revisados los cambios pulsamos el botón “Create pull request“.

Podemos poner un comentario para explicar los cambios que hemos realizado:

Por último pulsamos en el Botón “Create pull request” para mandar la solicitud.

Si ahora accedemos a nuestra primera cuenta de GitHub donde tenemos el proyecto holamundo original podemos ver en la pestaña Pull requests que tenemos una solicitud:

Seleccionamos la pestaña Pull request y vemos que tenemos una solicitud que pone “Hemos modificado productos.html”, si seleccionamos la solicitud nos da la opción de  integrar los cambios pulsando el botón “Merge pull request“, también podemos dejar un comentario, por ejemplo si consideramos que algo está mal y queremos solicitar un cambio en el código antes de hacer el merge.

En este caso podemos poner que todo está correcto y pulsar el botón “Comment“, y después pulsar el botón “Merge pull request” para incorporar los cambios al repositorio original.

Nos pide que confirmemos el merge así que pulsamos el botón “Confirm merge” y ya tenemos los cambios hechos por el segundo colaborador en el repositorio original.

Como puedes ver se puede mantener una conversación entre los colaboradores del proyecto para comentar los cambios que se hacen.

El administrador del proyecto original es el que decidirá qué cambios se incorporan al repositorio.

Si revisamos ahora el contenido del archivo productos.html  en el repositorio original de GitHub veremos que ahora ya contiene los cambios que le hemos añadido desde el fork.

GitHub es una herramienta muy potente para el desarrollo colaborativo de código abierto. Tiene muchas funciones avanzadas que se escapan al propósito de este tutorial de iniciación, pero con lo que has aprendido ya puedes empezar a alojar tus proyectos en GitHub y/o colaborar en proyectos existentes.

Eso es todo por hoy, en el próximo post veremos uno de los mayores competidores de GitHub, me estoy refiriendo como no a GitLab.

En el siguiente enlace tienes el índice para acceder al resto de entradas de este tutorial:

Tutorial de Git – Aprende Git y GitHub/GitLab de manera fácil, rápida y sencilla – Parte 4

En el siguiente enlace tienes el indice para acceder al resto de entradas de este tutorial:

Hola a todos, hasta ahora hemos estado trabajando con un repositorio local, es decir todo el código de nuestro proyecto se encontraba en nuestro ordenador y solo nosotros accedemos a él.

Repositorios remotos

Lo normal en proyectos colaborativos o en los que trabajan más de una persona es tener un repositorio remoto alojado bien en algún servidor de la red interna, o directamente en internet.

Nosotros trabajaremos en nuestro repositorio local y después subiremos los cambios al repositorio remoto.

Aunque existen más, en este tutorial nos vamos a centrar en dos de las plataformas Git para alojar nuestro proyectos mas conocidas: GitHub y GitLab.

GitHub

GitHub es una plataforma de desarrollo colaborativo para alojar proyectos utilizando el sistema de control de versiones Git

En GitHub puedes almacenar tus proyectos de forma pública gratuitamente. Esto significa que tus proyectos están accesibles a cualquier persona. Por eso GitHub es muy utilizado en proyecto open source donde cualquiera puede tener acceso al código de un proyecto para poder hacer cambios o añadir funcionalidades.

Si necesitas tener  proyectos privados GitHub dispone de una opción de pago para almacenar proyectos de forma privada.

Microsoft acaba de comprar GitHub, habrá que estar atentos a la evolución que tenga la plataforma bajo la tutela de Microsoft.

Lo primero que necesitamos hacer es crear una cuenta en GitHub, para ello vamos a su página accediendo a la siguiente url:  https://github.com/

Creamos una cuenta rellenando los campos del formulario Username (nombre de usuario), Email y Password (contraseña).

Una vez registrados nos mostrará una pantalla similar a esta:

En este paso nos pide que seleccionemos el plan que queremos, por defecto marca repositorios públicos ilimitados gratis con la opción de seleccionar repositorios privados ilimitados con un coste en el momento de escribir estas líneas de 7 dólares.

Si seleccionamos la opción de pago nos pedirá los datos de facturación.

Si no tienes muy claro que plan necesitas no te preocupes, puedes empezar con la opción gratuita y más adelante si quieres puedes actualizar al plan de pago.

Una vez seleccionado el plan que queramos pulsamos en botón continuar .

En el último paso nos muestra una pequeña encuesta donde nos preguntan cual es nuestro nivel de experiencia como programadores, para qué tipo de proyectos vamos a utilizar GitHub, cual es tu perfil …

Este paso es opcional,  después de rellenar la encuesta  (o no) tras pulsar el botón continuar ya has completado la inscripción en GitHub.

Te enviarán un correo para verificar tu email, debes acceder al link que te indican en el correo para verificar la dirección de correo (Verify email address).

Al acceder al link se activará la cuenta y nos mostrará un formulario de login.

Accedes con el usuario y contraseña de la cuenta de GitHub que acabas de crear y listo.

En este punto ya podemos crear nuestro primer repositorio en GitHub:

Pulsamos el botón Start a project y accedemos al formulario para crear nuestro primer repositorio en GitHub:

Lo primero que tenemos que hacer es dar un nombre al repositorio, como no podía ser de otra manera para este primer ejemplo le vamos a  vamos a poner holamundo.

En la descripción ponemos la descripción de nuestro proyecto.

Después seleccionamos si nuestro proyecto va a ser público o privado,  recuerda que para poder tener repositorios privados debemos tener el plan de pago.

De momento no vamos a marcar la casilla Initialize this repository with a README, Este archivo lo crearemos más tarde y aprenderemos cómo se edita.

También nos da la opción de añadir un archivo .gitignore y una licencia, para este ejemplo lo dejamos en none.

Pulsamos en el botón Create repository y ya tenemos listo nuestro primer repositorio en GitHub.

Importar un proyecto desde un repositorio local – push

Lo primero que aparece al crear el repositorio es la url para acceder al mismo, tendrá el siguiente formato:

https://github.com/tu_usuario/tu_proyecto.git

Debajo nos muestra tres opciones, la primera es para crear un proyecto local desde cero, añadirle el archivo README.md y subirlo al repositorio que acabamos de crear.

La segunda opción es para subir un repositorio que ya tengamos creado en local.

Por último nos da la opción de importar un repositorio desde otro sistema de control de versiones como Subversion o Mercurial.

Como nosotros ya tenemos creado nuestro proyecto en local vamos a usar la segunda opción, entonces no tenemos más que seguir los pasos indicados:

Desde consola (Git bash o el terminal ) nos situamos en la carpeta de nuestro proyecto proyectoGit1 y añadimos el origen de nuestro repositorio remoto:

git remote add origin https://github.com/Reviblog/holamundo.git

Ahora para subir el contenido de nuestro proyecto utilizamos el siguiente comando:

git push -u origin master

Al ejecutar este comando nos pedirá que introduzcamos el usuario o el correo electrónico de nuestro usuario en GitHub y la contraseña:

Una vez logeado correctamente los archivos de nuestro repositorio local se subirán al repositorio remoto en GitHub.

Si refrescamos ahora la página en Github veremos que aparecen los archivos de nuestro repositorio local.

Ahora cada vez que hagamos cambios en nuestro repositorio local después de hacer el commit debemos utilizar el comando git push -u origin master para que los cambios se sincronicen con nuestro repositorio remoto en GitHub.

Vemos en que en la cabecera nos indica el número de commits que se han realizado, si pulsamos sobre  la palabra commits podemos ver los commits que se han realizado en nuestro proyecto, el decir, no solo se ha subido el código a nuestro repositorio si no que tenemos toda la información de los commits que tenemos en el repositorio local lo que nos permite hacer un seguimiento y volver a un punto anterior de nuestro proyecto en cualquier momento.

El archivo README.md

El archivo README.md  es un archivo de descripción de nuestro proyecto y suele contener una descripción del proyecto, modo de instalación, forma de utilización , tipo de licencia y cualquier otra información relevante sobre el proyecto.

Este archivo tiene un formato especial para representar su contenido, vamos a ver a continuación cómo se edita y como se da formato al texto contenido en el.

Si volvemos a la página inicial de nuestro proyecto  (podemos pinchar en el enlace holamundo en la parte superior de la pantalla) vemos que después del listado de los archivos  de nuestro proyecto hay un botón con el texto “Add a README“, si hacemos click sobre él nos abre un editor para editar el archivo README.md:

Tenemos dos pestañas,  “Edit files” y “Preview”.

README.md utiliza un formato Markdown.

Vamos a ver brevemente cómo utilizar el formato Markdown para nuestro archivo README.md:

Encabezados

Podemos observar que hola-mundo tiene el carácter  almohadilla “#” por delante, esto hace que se vea como un encabezado.

Una almohadilla antes del texto corresponde con un encabezado h1 de html, dos almohadillas sería igual a un h2, tres almohadillas sería igual a un h3 y así sucesivamente:

# Encabezado h1 
## Encabezado h2
### Encabezado h3
#### Encabezado h4

Citas

Para resaltar una cita usamos el símbolo  mayor que “>” antes del texto:

> "If it compiles, it is good, if it boots up it is perfect". - Linus Linus Torvalds

Cursiva y negrita

Agregamos un asterisco  “*” antes y después de la palabra o frase que queremos resaltar para cursiva y dos para negrita “**”:

*Cursiva* 

**Negrita**

Código

Se utiliza el acento grave para identificar código, y corchetes para identificar el lenguaje de programación:

 `Código`
 ``` [language]
 Código en 
 varias líneas
 ```

Listas

Para los elementos de listas no ordenadas utilizamos  el asterisco “*“:

* Primer elemento
* Segundo elemento
* Tercer elemento

Para las listar ordenadas indicamos el número del elemento con un punto:

1. Primer elemento de la lista
2. Segundo elemento de la lista
3. Tercer elemento de la lista

Enlaces

Para añadir un enlace a nuestro documento ponemos el texto del enlace entre corchetes y la url del enlace entre paréntesis:

 [Reviblog](www.reviblog.net)

Imágenes

Para incluir imágenes utilizamos el símbolo de exclamación “!” y entre corchetes el texto alternativo de la imagen seguido entre paréntesis de la url de la imagen:

![Un gato](http://reviblog.net/wp-content/uploads/2018/06/IMG_20180608_104752.jpg)

Vamos a ver como quedaría todo los que hemos visto, dejamos el archivo README.md de la siguiente manera:

# hola-mundo
Este es mi primer repositorio en GitHub

Encabezados:

# Encabezado h1
## Encabezado h2
### Encabezado h3
#### Encabezado h4

Citas:

> "If it compiles, it is good, if it boots up it is perfect". - Linus Linus Torvalds

Cursiva:

*Cursiva*

Negrita:

**Negrita**

Código:

``` [language]
Código en
varias líneas
```
Listas:

* Primer elemento
* Segundo elemento
* Tercer elemento

1. Primer elemento de la lista
2. Segundo elemento de la lista
3. Tercer elemento de la lista

Link:
[Reviblog](www.reviblog.net)

Imagen:

![Un gato](http://reviblog.net/wp-content/uploads/2018/06/IMG_20180608_104752.jpg)

Si seleccionamos la pestaña Preview changes obtendremos algo como esto:

 

Por último para que  los cambios en README.md  se hagan efectivos tenemos que hacer un commit,  podemos añadir una descripción al commit o dejar por defecto en cuyo caso la descripción del commit será “Create README.md” , después pulsamos en el Botón Commit  new File.

Por hoy lo dejamos aquí, ya hemos aprendido a crear un repositorio en GitHub y a importar nuestro proyecto local, también hemos aprendido a editar el archivo README.md.

En el siguiente enlace tienes el índice para acceder al resto de entradas de este tutorial:

En el siguiente post seguiremos aprendiendo un poco más sobre GitHub.