"Si tú no trabajas por tus sueños, alguien te contratará para que trabajes por los suyos”

Steve Jobs

Afiliado
Dominios3Euros

GITHUB: Plataforma desarrollo

Es una plataforma de desarrollo colaborativo sobretodo para aquellos que utilizamos GIT, os recuerdo que GITHUB gratuito y tiene opciones de pago. Ante de que lo comprara por Microsoft en 2018, en esta plataforma solo te permitia subir proyectos con codigo abierto y publico, los privados era de pago. Ahora la parece que te permite tener de pago, pero no se cuales son lar premisas para que tengas que pagar.

Documentación de GitHub oficial en ingles.

 ¿ Lo primero que hacer en GitHub ?

Identificarte ( loguearse )  en la web github con tu usuario y contraseña, si no tiene crear una cuenta, son bastante respectuoso con tu cuenta email y no te molestan con emails.

Como empezar un proyecto ( REPOSITORIO) en Github

Una vez identificado, simplemente pulsa en crea nuevo repositorio, aunque primero tendría que tener claro:

  • Repositorio nuevo: Nuestro propio proyecto
    • NO TENEMOS UN REPOSITORIO LOCAL CREADO.
    • TIENE UN REPOSITORIO LOCAL CREADO
  • FORK de repositorio de otro usuario: Queremos trabajar en un proyecto de otro usuario de github
    • VER DIFERENCIAS ENTRE FORK Y EL REPOSITORIO ORIGINAL

REPOSITORIO NUEVO DE UN PROYECTO.

 El Repositorio nuevo podemos crearlo directamente desde la interfa de GITHUB , en la siguiente opcion:

"Initialize this repository with a README" , si lo marcamos con [si] o [no]

Github2

 [si] -> Si vamos hacer un git clone (vacío)
 [no]-> Si ya tiene git init en tu proyecto y quieres enviar todos tus commits.

A la hora querer crear un repositorio nuevo en Github puede surgir varias situaciones:

  • NO TENEMOS UN REPOSITORIO LOCAL CREADO : Si aun no tiene repositorios local creado , si no tienes codigo aun generado, pues la opción opción [si]
  • TIENE UN REPOSITORIO LOCAL CREADO opción [no]: Si ya tienes codigo generado y quieres subirlo, lo primero es saber si tienes un repositorios local con git, sino tendras iniciarlo con git init , ya que esta opcion es la que te permite compartir tu repositorio local en GITHUB, con los commits que ya realizaste. (compartir tu repositorio local completamente ).

 Explicamos las dos situaciones.

NO TENEMOS UN REPOSITORIO LOCAL CREADO.

Si no tenemos o no queremos subir los comits de un repositorio local y pulsamos [si] en "Initialize this repository with a README" a la hora crear el REPOSITORIO EN GIHUB una forma sencilla sería, nos  indica los pasos a crear el repositorios local.

Nos situamos en le directorio raiz donde creemos crea nuestro repositorio local, con la siguiente instrucción nos crea el repositorio en local,creando un directorio con el nombre del repositorio que acamos de crear en GITHUB.

git clone https://  #que nos indica el repositorio github recien creado.

Entonces crea una directorio con el nombre del proyecto ( que estará vacio), solo con fichero README y con un directorio oculto .git , pero ya configurado la conexion con el remoto (GITHUB) como origin.

A partir ahí, ya podemos añadir nuestro código en ese directorio y empezar commitar ...

git commit -m "Inicio en servidor local"

Una vez tengamos tengamos comitado en nuestro repositorio local, ya podemos enviar al repositorio REMOTO de github con la instrucción git push.

git push origin

Todo ha ido correcto y te pedirá [usuario] y [contraseña] de Github para subir tu repositorio local con nuestro comits al repositorio remoto de GITHUB.

 

TIENE UN REPOSITORIO LOCAL CREADO

Al tener un repositorio local creado para poder enviarlo a un REPOSITORIO REMOTO con todos los commits, a un repositorios REMOTO creado en GIHUB sin haber marcado [no] "Iniciatize this repository with a Readme".

Lo que debe hacer es indicar a tu repositorio local la dirección del repositorio remoto (vacio) que acaba de crear, con la siguiente instrucción:

git remote add origin https://urldelrepositorionuevo 

- nos pondrá la url en remote origin.....

Si fue todo correcto, nos queda hacer push origin ,aunque con par de parametros más:

push origin --force

Instrucción que parece bastante peligrosa utilizar, según veo la red. (link)

Nos pedirá [usuario ] y  [ contraseña] de repositorio remote, luego añade el repositorio local en el repositorio remote.

Te en cuenta que todos los commits de nuestro REPOSITORIO LOCAL. Apartir de es primer push, ya el resto no necesitamos utilizar la opción --force.

 COMO TRABAJAR EN COLABORACIÓN:

Se podría hacer directamente desde el repositorio del usuario, pero los cambios que realicemos no podremos enviarlo sin que el usuario nos de acceso a su REPOSITORIO REMOTO, cosa que dudo, salvo que haya mucha confianza entre vosotros.

HACER UN FORK DE REPOSITORIO DE OTRO USUARIO:

Si lo queremos es realizar cambien en un proyecto de otro usuario, lo ideal es hacer FORK en GITHUB , ya que asi podemos realizar un pull requests al CREADOR y este mezclarlo con el suyo si le interesa nuestros campos

 Realizar un FORK en GITHUB es tan sencillo como pulsando FORK desde el repositorio queremos.

Una vez realizado FORK , en nuestro nuevo repositorio simplemente tenemos clonar el repositorio a local como indicamos en apartado anterior, sin volver a crearlo claro.

git clone https://  #que nos indica el repositorio remote que hicimos fork.

 Recuerda que la dirección sera algo así: gihub.com/tuusuario/nombrerepositorio

A partir ahí tenemos el repositorio con los commits que haya hasta ahora.

Si realizamos cambios y queremos trabajaremos en nuestro repositorio (FORK) sin entorpecer al usuario u organizacion del proyecto original.

Una vez queramos enviarle o recomendarle un cambio al usuario o organización podemos realizarlo con un push request, donde el usuario o organización decidirá si quiere los aplicar los cambios o  no.

Una vez lo acepten a ti llegará una notificación que fue aceptado o rechazado.

MANTENER AL DIA NUESTRO FORK

Si mantener al dia nuestro fork y actualizado con el repositorio original, si queremos ver las diferencias entre uno u otro.

Lo primero que debemos hacer es crear una conexion al REPOSITORIO ORIGINAL ( el que hicimos el fork) es muy sencillo con la instrucción:

git remote add nombreconexion http://ruta repositorio original

En nombre conexión podremos el queramos, menos origin, ya origin por normalmente ya lo utilizamos con anterioridad al realizar conexion al fork.

NOTA: Al hacer un fork en gihub , al hacer remote add , ya sabe cual la direccion del del repositorio original, sino lo hubieramos hecho un fork , ya sería otro cantar... :-) , por lo que no sería necesario poner la ruta.

Con la siguiente instrucción vemos las conexiones remotas que tenemos en nuestro repositorio local. Instruccion para ver conexiones remotas:

git branch -a

Nos mostrará las conexiones que tenemos creadas, algo así:

* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/nombreconexion/master

Luego simplemente ya podemos utilizar instrucciones git para ver log, differencias que hay en el repositorio original ( del que hizimos el fork).

 Ejemplo de instrucciones a utilizar:

git log nombreconexion/master
git diff nombreconexion/master

Te en cuenta que esto solo vemos las diferencias que hay en el momento de realizar la conexión, si ya paso tiempo, debes actualizar esos datos de la conexión.

Si quieres actualizar ese repositorio con las siguiente instrucción:

git fetch nombreconexion

Entonces ya tiene actualizado el REPOSITORIO REMOTO que le indicaste y ya puede ver los logs o differencias hay.