Guía rápida para utilizar Github

Este tutorial es una guía rápida para instalar y utilizar GitHub. Aquí se explica cómo crear un repositorio local, cómo conectar este repositorio local al repositorio remoto de Github (donde todo el mundo lo puede ver), cómo confirmar los cambios y finalmente cómo empujar todo el contenido del repositorio local hacia GitHub, entre otras tareas comunes.

Antes de empezar, es importante tener en cuenta que este tutorial supone un conocimiento básico de los términos utilizados en Git: empujar (push), jalar (pull), guardar los cambios (commit), repositorio (repository), etc. También requiere el registro previo en GitHub.

Instalación de Github

En Debian/Ubuntu y derivados:

sudo apt-get install git

En Fedora y derivados:

sudo yum install git

En Arch y derivados:

sudo pacman -S git

Configuración inicial de Github

Una vez que la instalación se ha completado con éxito, el siguiente paso es configurar los detalles de configuración del usuario GitHub. Para ello, hay que utilizar los siguientes comandos sustituyendo «nombre_usuario» con tu nombre de usuario GitHub y «email_id» con la dirección de correo electrónico utilizada para crear la cuenta de GitHub.

git config --global user.name "nombre_usuario"
git config --global user.email "email_id"

Creación de un repositorio local

Lo primero es crear una carpeta en tu computadora, que servirá como un repositorio local. Para ello, basta ejecutar el siguiente comando:

git init Mytest

Este comando crea la carpeta MyTest. A su vez, la sub-carpeta .init hace que MyTest sea reconocido como un repositorio local de Git.

Si se crea el repositorio con éxito, aparecerá una línea similar a la siguiente:

Initialized empty Git repository in /home/tu_usuario/Mytest/.git/

Acto seguido, hay que entrar a la carpeta MyTest:

cd Mytest

Creación de un archivo README para describir el repositorio

El archivo README se utiliza generalmente para describir lo que el repositorio contiene o lo que el proyecto se trata. Para crear uno, basta ejecutar:

gedit README

Una vez que hayas ingresado la descripción del repositorio, no olvides guardar los cambios.

Adición de los archivos del repositorio a un índice

Este es un paso importante. Antes de poder subir los cambios a Github u otro servidor compatible con Git, hay que indexar todos los archivos contenidos en el repositorio local. Este índice contendrá los archivos nuevos así como los cambios a los archivos existentes en el repositorio local.

En nuestro caso, nuestro repositorio local ya contiene un nuevo archivo: el README. Por lo tanto, vamos a crear otro archivo con un programa C simple y al cual llamaremos ejemplo.c. Los contenidos del mismo serán:

#include
int main()
{
printf("hello world");
return 0;
}

Así que, ahora tenemos 2 archivos en nuestro repositorio local: README y ejemplo.c.

El siguiente paso es agregar estos archivos al índice:

git add README
git add smaple.c

El comando «git add» se puede utilizar para agregar cualquier número de archivos y carpetas al índice. Para agregar todos los cambios, sin especificar el nombre de los archivos, es posible ejecutar «git add .» (con un punto al final).

Guardar los cambios realizados en el índice

Una vez añadidos todos los archivos, es posible dejar un registro de estos cambios haciendo lo que en la jerga se llama un «commit». Esto significa que ya se ha terminado de agregar o modificar archivos y que los cambios pueden ser subidos al repositorio remoto de Github. Para ello, hay que ejecutar el siguiente comando:

git commit -m "mensaje"

«mensaje» puede ser cualquier mensaje que describa brevemente los cambios en cuestión, por ejemplo: «agregué tal funcionalidad» o «corregí tal cosa», etc.

Creación de un repositorio en GitHub

El nombre del repositorio debe ser el mismo que el repositorio del sistema local. En este caso, será «MyTest». Para ello, antes que nada, hay que iniciar sesión en Github. Luego, hay que hacer clic en el signo más (+) en la esquina superior derecha de la página y seleccionar la opción «crear nuevo repositorio». Finalmente, hay que rellenar los datos y hacer clic en el botón «crear repositorio».

Una vez hecho esto se creará el repositorio y será posible subir el contenido del repositorio local en el repositorio GitHub. Para conectarse al repositorio remoto en GitHub hay que ejecutar el comando:

git remote add origin https://github.com/user_name/Mytest.git

No olvides reemplazar ‘nombre_usuario’ y ‘MyTest’ con tu nombre de usuario y carpeta correspondientes.

Empujar archivos del repositorio local al repositorio GitHub

El paso final es empujar el contenido del repositorio local hacia el repositorio remoto, mediante el comando:

git push origin master

Sólo resta introducir las credenciales de inicio de sesión (nombre de usuario y contraseña).

Esto subirá todo el contenido de la carpeta MyTest (repositorio local) a GitHub (repositorio externo). Para los proyectos subsiguientes ya no hará falta seguir estos pasos desde cero. En cambio, podrás empezar desde el paso 3 directamente. Por último, no te olvides que los cambios estarán disponibles desde la página web de Github.

Creación de una rama (branch)

Cuando los desarrolladores quieren corregir errores o agregar nuevas funciones a menudo crean una rama (branch) o copia del código de modo que puedan realizar commits en forma separada, sin afectar el proyecto original. Luego, cuando hayan terminado pueden fusionar esta rama de vuelta en la rama principal (master).

Para crear una nueva rama hay dos opciones:

Opción larga:

git branch mirama # crea una nueva rama llamada mirama
git checkout mirama - pasa a utilizar la rama mirama.

Opción corta:

git checkout -b mirama - crea y pasa a utilizar la rama mirama

Una vez realizados los cambios, hay que agregarlos al índice de la rama y hacer el commit correspondiente:

git add .
git commit -m "cambios en mirama"

Luego, hay que volver a la rama principal y tomar los cambios realizados en mirama:

git checkout master
git merge mirama

Finalmente, hay que borrar mirama (ya que los cambios fueron incorporados en master):

git branch -d mirama

Y subir master a Github:

git push origin master

Creación de un repositorio Git derivado (fork)

Gracias a Git y a la existencia de las grandes librerías de repositorios públicos, como Github, gran parte de las veces no es necesario comenzar a programar nuestro proyecto desde cero. En esos casos, es posible tomar este código de base para crear un nuevo proyecto.

Para ello, lo primero que hay que hacer es un fork de un repositorio existente, o sea, un proyecto derivado del mismo que tome como base el código del proyecto original. En Github, eso se consigue haciendo clic en el botón correspondiente, como se ve en la captura a continuación.

Fork de un Repositorio Github

Luego, lo que hay que hacer es clonar el repositorio de este nuevo proyecto en nuestra computadora. A modo de ejemplo, podemos utilizar mi repositorio de Ankifox, una extensión para Firefox que permite agregar palabras a Anki, el cual se encuentra disponible en Github:

git clone https://github.com/usemoslinux/Ankifox.git

No olvides reemplazar https://github.com/usemoslinux/Ankifox.git por la URL correspondiente a tu proyecto. Obtener esta dirección es muy fácil, como se ve en la imagen a continuación.

Clonación de un Repositorio Github

Este comando creará un directorio llamado «Ankifox», inicializará el directorio .git dentro de él, y bajará todos los datos de ese repositorio, a fin de trabajar con la última versión.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Victor Martinez dijo

    Justo algo asi estaba buscando, una guia sencilla y practica que explicara cada cosa paso a paso.
    Para bibucket, imagino seria casi los mismos pasos cierto?

    1.    usemoslinux dijo

      Exacto. Es muy similar. Sólo cambia la URL del host remoto.
      Lo interesante de Bitbucket es que ofrece la posibilidad de crear repositorios privados (es decir, que no es abierto al público en general sino que sólo es accesible para un grupo específico de gente). En Github esto también es posible, pero hay que pagar. En cambio en Bitbucket no.
      Saludos! Pablo.

  2.   Jonathan Diaz dijo

    Genial Amigos!!!De los mejores espacios en inter para enterarse y aprender,

    1.    usemoslinux dijo
  3.   elav dijo

    Gracias a ti me gusta más Bitbucket.. de todos modos buen artículo 😀

  4.   nex dijo

    @usemoslinux Se puede crear «GitHub» para instalar automáticamente sistema FreeBSD?, seria de gran ayuda el instalador casi automático como hace Arch, interesante post.

    PD: seria bueno una guía de GitHub para FreeBSD.

  5.   josep m. fernández dijo

    Gracias por la guía. Estoy siguiéndola y he tenido un pequeño problema, no me deja subir el repositorio local al remoto. Me da el siguiente error:

    [root@iou Mytest]#git push origin master
    error: The requested URL returned error: 403 Forbidden while accessing https://github.com/miusuario/Mytest.git/info/refs

    ¿Alguna idea?

    1.    usemoslinux dijo

      Posiblemente lo que está pasando es que la URL del repositorio remoto que estás ingresando no es correcta. Esto se puede deber a un error de tipeo al ingresar la URL o a que realmente no creaste el repositorio en Github (a través de su página web).

      Si el mensaje de error es exactamente como el que mostrás, te faltó cambio «miusuario» por tu nombre de usuario.

      Ingresá git remote -v para ver las URLs ingresadas. Para cambiarla, sólo hay que poner git remote set-url origin URLNUEVA

      Reemplazando URLNUEVA por la URL correcta.

      Por último, no te olvides que la URL distingue entre mayúsculas y minúsculas.

      Saludos! Pablo.

  6.   Tesla dijo

    Increíble!

    Explicado para que hasta los menos duchos en la materia, como yo, lo entendamos y podamos dar nuestros primeros pasos en git o Github. Ahora me quedan claros muchos términos como push, pull o commit.

    Muchas gracias!

    1.    usemoslinux dijo

      Era la idea! Me alegro mucho!
      Un abrazo y gracias por dejar tu comentario! Pablo.

  7.   Statick dijo

    Genial

    Una duda como elimino archivos que ya no los necesito ni en local ni en repositorio de Github

  8.   Statick dijo

    Corrijo mi duda para eliminar directorios con archivos completos

    git rm -rf directorio

    o Como ???

    1.    usemoslinux dijo

      Para borrar archivos:
      git rm archivo1.txt

      Para borrar directorios (y sus contenidos):
      git rm -r midirectorio

  9.   Statick dijo

    Lo descubri buscando, excelente gracias

  10.   Victor Mansilla dijo

    Y como lo hago para utilizar Gitlab?
    Por lo menos, en elementaryOS no logra terminar la configuracion …

  11.   Statick dijo

    Este error me aparee cuando quiero hacer un

    git pull origin master

    http://i.imgur.com/fy5Jxvs.png

    1.    usemoslinux dijo

      Como se explica en la captura que compartís, hay cambios en el servidor que no están incorporados en la versión almacenada en tu computadora. A su vez hay cambios en tu computadora que no están en el servidor (que son los que vos querés subir). De ahí el conflicto.

      Probá haciendo primero un git pull como te sugieren en la captura.

  12.   Jose dijo

    Gracias por la ayuda, muy buena info, la pondre en practica, gracias nuevamente

  13.   Alonso dijo

    En la sección: «Empujar archivos del repositorio local al repositorio GitHub»
    , se puede leer:
    «Esto subirá todo el contenido de la carpeta MyTest (repositorio local) a GitHub (repositorio externo). Para los proyectos subsiguientes ya no hará falta seguir estos pasos desde cero. En cambio, podrás empezar desde el paso 3 directamente. »

    Estoy empezando en esto de Git. ¿Me puedes decir cual es el «paso 3»?

    Por otra parte, los comandos:
    git config –global user.name «nombre_usuario»
    git config –global user.email «email_id»

    ¿son necesarios realizarlos en cada sesión de Git?

    De igual forma, el comando:
    git init «nombre de la carpeta»
    ¿es necesario ejecutarlo en cada sesión de trabajo con Git o el repositorio en cuestión, que pasa cuando tengo dos o mas repositorios?

    Magnificos tutoriales, felicidades, gracias y saludos.

  14.   sergio dijo

    entendí perfectamente, lastima que no haya un cliente GUI como el de Windows/Mac :/

  15.   sonia dijo

    llegue a qui para solucionar un problema que me sale de : fatal: Not a git repository (or any of the parent directories): .git ¿ con esta guia se soluciona??? antemano gracias 🙂

  16.   alexander dijo

    Username for ‘https://github.com’: «royalAlexander»
    Password for ‘https://»royalAlexander»@github.com’:
    remote: Invalid username or password.
    fatal: Autenticación falló para ‘https://github.com/royalSanity/Mytest.git/’

    help me