Skip to content

Instantly share code, notes, and snippets.

@henrystivens
Created March 17, 2020 16:26
Show Gist options
  • Save henrystivens/ee8d9f509e1b88ea7acd70add116eb8a to your computer and use it in GitHub Desktop.
Save henrystivens/ee8d9f509e1b88ea7acd70add116eb8a to your computer and use it in GitHub Desktop.

Traducir PHPDoc de KumbiaPHP (PR - Pull Request).

Primero que todo debes tener instalado git en tu equipo, una cuenta en https://github.com/ y debes iniciar sesión.

Copia (fork) del repositorio oficial

  1. Ir al repositorio del framework: https://github.com/KumbiaPHP/KumbiaPHP

  2. Hacer clic en el botón "fork", esto creará en tu cuenta una copia completa del repositorio.

Clonar tu repositorio

Esto nos permitirá trabajar de manera local con el fork que acabamos de realizar, así nos aseguramos por ejemplo de no cambiar nada directamente y estropearlo todo.

  1. Copiar la URL que aparece al darle clic al botón "Clone or download".

  2. Ir a una terminal y ejecutar el comando: git clone https://github.com/tuusuario/KumbiaPHP.git

  3. Entrar a la carpeta KumbiaPHP cd KumbiaPHP

  4. Especificar el remote upstream con el cual se sincronizarán los cambios con el comando: git remote add upstream https://github.com/KumbiaPHP/KumbiaPHP.git

  5. Verificar que se haya asignado el remote upstream a nuestra copia con el comando: git remote -v

origin	https://github.com/tuusuario/KumbiaPHP.git (fetch) 
origin	https://github.com/tuusuario/KumbiaPHP.git (push) 
upstream	https://github.com/KumbiaPHP/KumbiaPHP.git (fetch) 
upstream	https://github.com/KumbiaPHP/KumbiaPHP.git (push) 
  1. Pasate la rama de la versión 2: git checkout v2

Especificar tus datos de usuario

Ejecuta los siguientes comandos en la terminal:

  1. Para modificar el correo electrónico: git config user.email "tucorreo@gmail.com"

  2. Para modificar el nombre de usuario: git config user.name "Tu Nombre"

Crea las ramas para trabajar

La idea es enviar Pull Requests con la mínima cantidad de archivos modificados para que sean más fáciles de mezclar, por lo tanto se crearan las ramas que se requieran en local y en tu repositorio y desde cada una de estas se enviará un Pull Request, vamos con ejemplo:

  1. Selecciona y anuncia en el chat de Slack una sección del core que vas a modificar, por ejemplo los helpers: core/extensions/helpers

  2. Asegurate que estás en la rama de la versión:

git checkout v2
  1. Crea la rama siguiendo la convención translate/foler_name_XXXX, donde XXXX puede ser un consecutivo personal, para nuestro ejemplo sería:
git checkout -b translate/helpers_0001

Realizar traducciones

  1. Ahora supongamos que realizas la traducción de los archivos ajax.php y css.php, los agregas uno por uno:
git add core/extensions/helpers/ajax.php
git commit -m "Transalte PHPDoc Ajax helper"
git add core/extensions/helpers/css.php
git commit -m "Transalte PHPDoc Css helper"

A tu criterio estima la cantidad máxima de archivos y cambios que veas que son fáciles de mezclar.

  1. Sube los cambios a tu repositorio en Github:
git push origin translate/helpers_0001

Enviar cambios al repositorio oficial

  1. Ve a tu repositorio en Github.com y haz clic en el botón "New pull request".

  2. Asegurate que esté seleccionado en Base repository la rama v2de KumbiaPHP

  3. Asegurate que esté seleccionado para este ejemplo en Head repository la rama translate/helpers_0001 de tu fork de KumbiaPHP

  4. Escibe un titulo para el request y un mensaje claro de la solicitud.

  5. Clic en el botón "Create pull request".

  6. Ya solo queda esperar que alguien del core lo autorice e integre los cambios.

Sincronizando la copia (fork) con el reposiotorio oficial

Si la copia de nuestro repositorio no es reciente, es probable que el equipo de desarrollo haya añadido cambios al código del repositorio oficial, por esto es importante mantener sincronizada nuestra copia antes de que empecemos a trabajar en algo nuevo o antes de subir los cambios.

  1. Obtener las ramas y sus respectivos commits del repositorio 'upstream': git fetch upstream

  2. Asegurarse de estar en la rama de la versión 2: git checkout v2

  3. Mezclar los cambios de upstream/v2 dentro de tu rama local de desarrollo. Esto hará que tu rama de la versión 2 se sincronice con el repositorio oficial, sin perder los cambios locales: git merge upstream/v2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment