Skip to content

Latest commit

 

History

History
169 lines (106 loc) · 5.82 KB

chapter5.md

File metadata and controls

169 lines (106 loc) · 5.82 KB

Repositorios Remotos: GitHub

Contenido:

  • Sobre GitHub
  • Áreas de git
  • Sincronizar un repositorio local en un repositorio remoto
  • Git para repositorios remotos
  • Clonar repositorios
  • Fork a repositorios remotos
  • Sub-módulos

Servicios de GitHub

  • Plataforma de control de versiones
  • Ecosistema Open Source
  • Administración de tableros
  • Proyectos públicos
    • Código y edición manual
    • Sintaxis markdown
    • Inspección de elementos de git: commits, branches, releases y contributors.
    • Issues
    • Pull requests
    • Actions
    • Proyectos/Tableros
    • Wiki
    • Insights
    • GitHub Pages

GitHub Enterprise

GitHub Learning Lab

GitHub Cheat Sheet about git

Markdown syntax

GitHub Education

Git Large File Storage

Git Secret

Áreas de git

Sincronizar un repositorio local en un repositorio remoto

Crear un nuevo repositorio en GitHubAl crearlo nos dará las siguientes opciones:

GitHub nos ofrece las opciones siguientes:

  • or create a new repository on the command line
  • or push an existing repository from the command line
  • or import code from another repository

Por ahora solo necesitamos incluir la URL del repositorio remoto creado anteriormente en nuestro proyecto local

  • URL por SSH: necesitaremos generar y dar de alta nuestra llave SSH en GitHub para poder usar esta opción
  • URL por HTTPS: nos pedirá una confirmación de usuario y contraseña de GitHub cada vez que efectuemos alguna operación.

SSH

Guía para dar de alta llave ssh

Crear la llave si no existe, y dar de alta en Settings / New SSH Key

Agregar la URL del repositorio remoto

  1. Copiar la URL por SSH o HTTPS (se recomienda SSH)
  2. En el proyecto local se necesita dar de alta
$ git remote add origin <url-del-repositorio-remoto>

Este comando consta de 2 directivas: origin y la **url del repositorio remoto. **

Origin será el tag con el que identificaremos la url, y es un parámetro obligatorio. Esto quiere decir que es posible agregar múltiples urls de diferentes repositorios remotos en diferentes plataformas.

  1. Comprobar la url
$ git remote -v

origin    git@github.com:carlogilmar/prueba.git (fetch)
origin    git@github.com:carlogilmar/prueba.git (push)

Git para repositorios remotos

git push

Para enviar los cambios realizados en el repositorio local al repositorio remoto bastará con realizar un PUSH

$ git push origin master

Los dos parámetros necesarios son:

  • tag de la url del repositorio remoto (normalmente se identifica como origin)
  • nombre del branch que se enviará (en este ejemplo es master)

git pull

En el caso de que el repositorio remoto sea actualizado entonces existirá la necesidad de actualizar nuestro repositorio local con los nuevos cambios, para ellos usaremos el siguiente comando:

$ git pull origin master

Ambos comandos, tanto push como pull actualizan el repositorio remoto o local **por branch. **

git fetch

El repositorio remoto tendrá noción de que pueden existir algunos tags o branches en el repositorio remoto, sin embargo puede existir el caso de que estos existan ahí y el repositorio local no tenga noción de ellos, para ello es necesario actualizar la información del repositorio remoto en el repositorio local, para ello usamos este comando:

$ git fetch

remote: Counting objects: 637, done.
remote: Compressing objects: 100% (251/251), done.
remote: Total 637 (delta 241), reused 503 (delta 186)
Recibiendo objetos: 100% (637/637), 59.61 KiB | 504.00 KiB/s, listo.
Resolviendo deltas: 100% (241/241), completado con 29 objetos locales.
Desde bitbucket.org:ebcdesarrollo/broker-oracle
 + 70d6211...a5cdc5a QA             -> origin/QA  (actualización forzada)
 + 7d1ebe5...296ca70 PROD           -> origin/PROD  (actualización forzada)
 * [nueva rama]      feature/BO-133 -> origin/feature/BO-133
 * [nueva rama]      feature/BO-134 -> origin/feature/BO-134
   ea37041..7e4e3c1  master         -> origin/master

Clonar repositorios

Hasta este punto hemos visto cómo sincronizar un proyecto local versionado con git a uno remoto, pero también podemos descargar un proyecto remoto para comenzar a operarlo, para ello usaremos la URL del repositorio remoto, recordando las diferencias entre hacerlo por HTTPS o SSH.

$ git clone <url-del-repositorio-remoto>

Esto descargará automáticamente el repositorio.

Fork

Al ver un proyecto público en GitHub ajeno a nuestro perfil, podemos ver las siguientes opciones:El realizar un FORK de un proyecto significa crear una copia exacta en nuestro perfil:

Submódulos

Un repositorio de git puede tener referencias a otros repositorios, esto es común cuando se necesita enlazar a varios proyectos en uno solo.

Dentro de nuestro proyecto bastará con hacer lo siguiente:

$ git submodule add <url-del-repositorio-remoto> <nombre-de-la-carpeta-en-que-se-descargará>

Esta referencia se guardará en el archivo .gitmodules el cual deberá estar bajo el control de versiones. Se pueden agregar los repositorios remotos que se deseen como sub-módulos.

Al subir los cambios al repositorio remoto aparecerá la carpeta como link al repositorio remoto que corresponde al submódulo: