Skip to content

Instantly share code, notes, and snippets.

@hschmitt
Last active May 14, 2020 04:13
Show Gist options
  • Save hschmitt/4596316 to your computer and use it in GitHub Desktop.
Save hschmitt/4596316 to your computer and use it in GitHub Desktop.
Guía para contribuir con los repositorios de github de GDGLima
1.- Animarse con las ganas para contribuir... y terminar de leer esta guía.
2.- Tener una cuenta en github.
3.- Instalar algun cliente git (TortoiseGit en windows, git cli en MAC y linux distros)
4.- Configurar nuestra cuenta en github (Estos pasos los podemos completar siguiendo esta otra guía https://help.github.com/articles/set-up-git en ingles)
5.- Crear un repositorio en la cuenta del Github de GDGLima (O pedir a un administrador que nos cree un repositorio)
(Imagen 1)
En este caso se nos creará el repositorio:
https://github.com/hschmitt/devfestlima-wp-theme
con un commit inicial, que contiene el readme básico.
(Imagen 2)
6.- Haremos un fork de este repositorio (Hacemos click en el boton que dice fork, duh) y clickeamos en _fork to_ (nombre de mi cuenta)
(Imagen 3)
7.- Clonamos este repositorio en nuestra cuenta local
(Esto depende del sistema operativo, en este caso es el terminal de OSX)
$ git clone git@github.com:hschmitt/devfestlima-wp-theme.git
8.- Creamos un branch donde agregaremos nuestro nuevo feature.
$ git checkout -b feature-base-files
9.- Agregamos / Editamos los archivos necesarios para nuestro feature.
10.- Agregamos nuestros cambios al repositorio (http://www.kernel.org/pub/software/scm/git/docs/git-add.html)
$ git add .
11.- Hacemos commit de nuestros cambios con algun mensaje descriptivo pero corto en la primera linea, desde la segunda línea en adelante podemos re-escribir el Corán si deseamos.
$ git commit -m 'Agregando archivos base para el tema de wordpress'
12.- Repetimos los pasos 7 a 9 cada vez que agreguemos más cambios
$ git commit -m 'Agregando detalles de tema y licencia'
$ git commit -m 'Agregando screenshot al tema'
13.- Una vez que estemos contentos con nuestros cambios, realizamos un push al repositorio
$ git push origin feature-base-files:feature-base-files
(con este comando estamos sincronizando nuestro branch local a un branch con el mismo nombre en github)
Nuestro push esta en nuestro repo, como es nuevo, se crea un nuevo branch en el repo remoto con nuestros cambios
(Imagen 4)
14.- Hacemos un pull request. Para esto, en la Imagen 4, en el menú superior derecho, vemos un boton que dice _Pull Request_, le hacemos clic y se nos mostrará una pantalla. En ella escribiremos qué feature(s) se agregan con nuestros cambios y por qué debería ser aceptado.
(Imagen 5)
Una vez escrita la descripcion, seleccionamos el botón _Send pull request_
La organización verá esta solicitud como en la Imagen 6, y podrá comentar. Por otro lado, incluso antes de unir los cambios, podemos modificar nuestro pull request.
Una vez hecho el merge, github nos envía una notificación, y podremos ver nuestros cambios en el repositorio principal.
(Imagen 7)
15.- Finalmente, debemos actualizar nuestro repo con el base. Para eso, primero agregaremos el nuevo repo remoto (Este paso solo se realiza una vez)
$ git remote add gdglimarepo git://github.com/GDGLima/devfestlima-wp-theme.git
16.- Actualizamos los cambios en nuestro repo local y nuestro repo de github
$ git fetch gdglimarepo
$ git checkout master
$ git merge gdglimarepo/master (de la forma: Repositorio Remoto / Branch)
$ git push origin master
(Imagen 8)
Como vemos en la Imagen 8, el merge ahora también está en nuestro repo de github.
(Opcional)
17.- Borramos el branch que creamos
$ git branch -D feature-base-files (con esto eliminamos el branch Local)
$ git push origin --delete feature-base-files (así eliminamos el branch Remoto)
Si queremos contribuir nuevamente al mismo u otro repo, solo tendremos que seguir los pasos del 6 al 14 (si ya hemos clonado el repositorio) o del 5 al 14 (si recién vamos a clonarlo).
Nota: No olvidar cambiar los nombres de los branches donde trabajaremos (feature-base-files es solo un nombre de ejemplo)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment