Github: Primeros Pasos - Comparte tu código con la comunidad

Github: Primeros Pasos - Comparte tu código con la comunidad

En este post vemos como subir nuestro proyecto a Github. Es una guía paso a paso para que puedas compartir con la comunidad todos tus avances con Swift.

SwiftBeta
Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente. Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos. (fuente Wikipedia).

Al crear una aplicación podemos crear registros en el tiempo que nos permiten "viajar" a través de estos cambios y ver cómo era el código, tener copias de seguridad, trabajar en paralelo, etc. Esto es realmente útil cuando trabajamos en una aplicación y los cambios de código vienen de distintas personas. A partir de aquí, hay distintas estrategias que hablaremos en otros posts como Gitflow.

Hoy lo que vamos a ver es como subir nuestro primer repositorio a Github.

1. Crear cuenta en Github

Antes de todo necesitas ir a Github y crear una cuenta.

2. Creamos nuestro primer repositorio

Arriba a la derecha verás el símbolo +, al seleccionar la primera opción New Repository te aparecerá otra pantalla para configurar tu repositorio.

3. Configuramos la información de nuestro repositorio

Aquí podemos configurar el repositorio

4. Configuración del repositorio rellenada

Rellena la información en tu repositorio:
- Nombre
- Descripción
- Público (todo el mundo puede acceder)

5. Creamos el repositorio y vamos a nuestra aplicación/código que queremos pushear a Github

Al crear el repositorio en Github estará vacío. Ahora debemos ir a nuestro ordenador e ir al proyecto que queremos pushear. Para ello debemos seguir las intrucciones que nos aparecen a continuación:

Lo que vamos hacer es subir nuestro Playground con código de ejemplo de los posts de Swift Introducción a Github. Al ser un proyecto nuevo, seguiremos estos pasos (verás que cambian ligeramente a los mostrados en la captura anterior, como por ejemplo el paso de añadir un README al proyecto, que lo haremos en otra ocasión):

git init
git add .
git commit -m "first commit"
git remote add origin git@github.com:SwiftBeta/Swift-Introduccion.git
git push -u origin master

Los 3 primeros son para inicializar git en nuestro proyecto, "seleccionar" todos los archivos de nuestro proyecto y por último crear el primer commit con todos esos cambios.

Puede que ya estés trabajando en un proyecto con git y haya pasos que no tengan sentido, los puedes omitir como el de git init.

Hasta ahora tenemos la parte de Github configurada y el proyecto listo para ser pusheado. Pero si intentamos pushear nuestro proyecto a Github nos dará un error. ¿Por qué? porque no tenemos permisos, tenemos que autenticarnos de alguna manera para que Github sepa que es nuestro repositorio.


Crear clave SSH

Debemos generar una clave SSH, para hacerlo primero debemos ir al directorio cd ~/.ssh

cd ~/.ssh
ssh-keygen -t rsa -b 4096 -C "swiftbeta.blog@gmail.com" -f "github-swiftbeta"

Y desde allí ejecutar la instrucción ssh-keygen con vuestro correo electrónico para que sea fácil de identificar y un nombre claro por si teneis más cuentas de Github en vuestro ordenador, en mi caso he puesto github-swiftbeta.

Cuando te pida un passphrase puede añadir lo que quieras o dejarlo vacío:

Añadir clave SSH a SSH-agent

Ahora que ya tenemos la clave no se usará hasta que no la añadamos al agent. Para añadirla ejecutamos el siguiente comando en el terminal:

ssh-add -K ~/.ssh/github-swiftbeta

Al hacerlo, aparecerá el siguiente mensaje:

Importar las claves públicas en nuestra cuenta de Github

Ahora debemos copiar nuestra clave pública que se ha generado en nuestro ordenador y pegarla en Github.

Entra en este enlace y pulsa el botón de añadir clave SSH

Aparecerá el siguiente formulario, puedes añadir un título y la clave

para obtener la clave ves al terminal y ejecuta:

pbcopy < ~/.ssh/github-swiftbeta.pub

Automáticamente tu clave será copiada y la podrás pegar en el formulario. Con esto ya podrás pushear tu repositorio a Github sin ningún tipo de error de authenticación o falta de permisos. Vamos a probarlo, ejecutamos las 3 últimas instrucciones:

git branch -M master
git remote add origin https://github.com/SwiftBeta/Swift-Introduccion.git
git push -u origin master

Este es el resultado que aparece por consola:

y si vamos a nuestro repositorio podemos ver como el código se ha subido correctamente:

Hoy hemos visto como subir código a Github para poder compartirlo con la comunidad.


Si tienes más de un usuario configurado en tu pc y te da un 403 cada vez que intentas pushear a Github. Cambia tu config dentro de la carpeta oculta /.git. Esto es lo que hay en mi fichero config:

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
	ignorecase = true
	precomposeunicode = true
[user]
	email = swiftbeta.blog@gmail.com
	name = SwiftBeta
[remote "origin"]
	url = git@github.com:SwiftBeta/Swift-Introduccion.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[credential]
  interactive = always
[branch "main"]
	remote = origin
	merge = refs/heads/main

Fíjate que en mi [remote "origin"] en url no tengo http tengo el formato git@github.com:SwiftBeta... y en [credential] tengo puesto interactive = always.


Hasta aquí el post de hoy, gracias por leernos! 🤓
Si tienes preguntas no dudes en contactar con nosotros a través de Twitter

Si quieres seguir aprendiendo sobre SwiftUI, Swift, Xcode, o cualquier tema relacionado con el ecosistema Apple


Git