Cualquier contribución es bienvenida no importa si es grande o pequeña. Sigue estos pasos para contribuir de manera adecuada:
-
Encuentra un issue que necesite ayuda buscando por el tag Help Wanted.
-
Deja un comentario en el issue para hacernos saber que estas interesado en trabajar en él.
-
Sigue los Pasos para Contribuir para comenzar a trabajar.
- Requisitos Previos
- Hacer Fork del Proyecto
- Crear una Rama
- Configurar fccmontevideo
- Hacer Cambios
- Crear un Pull Request
- Pasos Comunes
- Pasos Siguientes
- Otros Recursos
Requisito | Versión |
---|---|
GO | ~ ^1.7.5 |
Hugo | ~ ^0.18.1 |
Node.js | ~ ^6 |
npm (viene con Node) | ~ ^3 |
- Instalar Git.
- (Opcional) Configurar una clave SSH para GitHub.
- Crear una carpeta donde alojar el proyecto una vez clonado
- Ve a la dirección principal del repositorio: https://github.com/FreeCodeCampMontevideo/fccmontevideo.com
- Clic en el botón "Fork" en la esquina superior derecha (Más Información)
- Después de terminado el proceso de fork tendrás una copia del repositorio en
tuUsuario/fccmontevideo.com
en GitHub
- Abrir la Terminal / Línea de Comandos en la carpeta donde vas a alojar el proyecto (ej.:
/Desktop/Proyectos/
) - Clonar el repositorio
$ git clone https://github.com/tuUsuario/fccmontevideo.com
Esto descargara el proyecto entero en tu máquina.
- Cambiarte a la carpeta recién creada (
cd fccmontevideo.com
) - Añadir como repositorio remoto el repo original:
$ git remote add upstream https://github.com/FreeCodeCampMontevideo/fccmontevideo.com
¡Felicitaciones, ahora tienes una copia local del repositorio de FCC Montevideo!
Ahora que tienes una copia local de tu fork hay algunas cosas que necesitas hacer para mantenerlo actualizado.
Debes hacer esto antes de crear una nueva rama para un Pull Request:
- Asegúrate de estar en la rama
staging
$ git status On branch staging Your branch is up-to-date with 'origin/staging'.
$ git checkout staging
- Has un pull contra el remoto
upstream
$ git pull --rebase upstream staging
Esto actualizara tu repo con todos los cambios de la rama staging oficial, sin realizar ningún commit adicional en tu repositorio local.
- (Opcional) Forzar el push de tu rama staging actualizada a tu Fork en GitHub
$ git push origin staging --force
Esto sobrescribirá la rama staging en tu fork.
Antes de comenzar a trabajar, necesitas crear una rama específica para el issue o funcionalidad que vas a trabajar. Tu harás push de los cambios en esta rama.
Nombra tu rama algo así como fix/xxx
o feature/xxx
donde xxx
es una descripción corta de los cambios que pretendes añadir al repo. Por ejemplo fix/email-login
será una rama donde tu arreglaras algo específico del login con email.
Para crear una rama en tu maquina local (y cambiarte hacia ella):
$ git checkout -b [nombre_de_tu_rama]
y hacer push hacia GitHub:
$ git push origin [nombre_de_tu_rama]
Si necesitas más ayuda acerca de las ramas, echa un vistazo a esto.
Una vez que tengas el proyecto, antes de iniciar la aplicación debes instalar todas las dependencias:
# Instalar dependencias NPM
npm install
# Iniciar la aplicación
npm start
Se abrirá una ventana en tu navegador en la ruta http://localhost:3000 con el sitio corriendo.
Esto va por tu cuenta.
Un pull request (PR) es un método para enviar los cambios realizados hacia el repositorio de fccmontevideo(o a cualquier otro que desees). Tu harás los cambios en copias de los archivos de fccmontevideo en tu Fork personal, y luego solicitaras que esos cambios se incluyan en el repositorio oficial.
Si te quedas con solo una cosa de este documento debe ser esta: Nunca, JAMAS hagas cambios sobre la rama staging
.
SIEMPRE crea una rama nueva antes de comenzar a editar los archivos. Esto es crítico, ya que si tu PR no es aceptada tu copia de staging quedará inconsistente y la única manera de arreglarla será borrar tu fork y volver a realizarlo.
Hay dos métodos para crear un PR en fccmontevideo:
- Editar los archivos en una copia local (recomendado)
- Editar los archivos mediante la interface de GitHub
Este es el método recomendado. Lee acerca de Como Configurar y Mantener tu copia local de fccmontevideo.com.
- Ejecutar el paso de mantenimiento rebasando los cambios desde
staging
. - Asegúrate de que estas en la rama
staging
usandogit status
:
$ git status
On branch staging
Your branch is up-to-date with 'origin/staging'.
nothing to commit, working directory clean
-
Si no estás en la rama staging o si tu directorio de trabajo no está limpio de cambios, descarta o has commit de los cambios en los que estás trabajando y cámbiate a la rama staging
git checkout staging
-
Crea una nueva rama a partir de
staging
con git:git checkout -B branch/nombre_de_rama
Nota: El nombre de las ramas es importante. Usa un nombre comofix/descripcion_corta
ofeature/descripcion_corta_de_funcionalidad
. Revisa los [Pasos para Contribuir para más detalle. -
Edita tu archivo(s) localmente con el editor de tu preferencia.
-
Revisa tu
git status
para ver los archivos que aún no han sido agregados para el commit. -
Agrega los archivos editados:
git add destino/del/archivo.ext
También puedes hacer:git add .
para agregar todos los archivos sin agregar. Ten cuidado, porque puedes agregar archivos que no quieres accidentalmente. Revisa tugit status
primero. -
Has commit de tus cambios:
git commit -m "Descripción breve de tus cambios"
. No agregues el número de issue en el mensaje de commit. -
Has push de tus cambios hacia tu Fork:
git push -u origin branch/nombre_rama
-
Ve hacia Pasos Comunes
Nota: Editar mediante la interfaz de GitHub no es recomendado ya que no es posible actualizar tu Fork sin borrarlo y volverlo a crear.
-
Una vez que hayas hecho commit de tus cambios GitHub te consultara si quieres crear un Pull Request en tu Fork.
-
Por defecto tu pull request debería ser contra la rama
staging
del repo principal. -
Enviar el PR.
-
El título de tu PR debe ser descriptivo de los cambios e indicar que cosas se arreglan con la misma.
- No agregar el número de issue en el título del PR.
-
En el cuerpo de PR debes incluir información más detallada resumiendo los cambios que realizaste y por qué.
- Si el PR pretende resolver algún issue entonces al final de la descripción debes agregar la palabra
closes
y #xxxx (donde xxxx es el número de issue). Esto le dice a GitHub que cierre el issue si se hace merge del PR.
- Si el PR pretende resolver algún issue entonces al final de la descripción debes agregar la palabra
-
Indicar si has testeado los cambios en tu copia local del repo.
Una vez que tu PR es aceptada, debes borrar la rama que creaste para enviar el PR. Esto mantiene tu Fork limpio.
Puedes hacer esto presionando un botón en la interfaz de GitHub. Puedes borrar la rama de tu copia local con: git branch -D branch/rama_a_borrar
¡No te sientas mal!, Seguramente recibiste un buen feedback de parte de los moderadores explicando por qué tu PR fue rechazada y los cambios necesarios para ser aceptada.
Muchos Pull Request, especialmente los primeros Pull Request, requieren correcciones o actualización. Si usaste la interfaz de GitHub para crear el PR necesitaras cerrarla, crear una nueva rama y volverla a enviar.
Si tienes una copia local del repo, puedes hacer los cambios solicitados y actualizar tu commit con: git commit --amend
Esto actualizara tu ultimo commit. Cuando hagas push de los cambios a tu Fork debes forzar el push para sobrescribir el commit viejo: git push --force
Asegúrate de comentar en la conversación del PR que has realizado los cambios solicitados por el moderador.