Descarga el instalador para tu sistema operativo. Tienes un tutorial completo de cómo instalarlo en diferentes SO aquí: Instalar Git. En Windows usa el instalador y deja las opciones por defecto.
Comprueba que Git está correctamente instalado ejecutando esto en un terminal: git --version. Si devuelve el número de versión entonces Git está correcto.
Ejecuta los siguientes comandos en un terminal (Git instala un terminal llamado Git CMD que puedes usar) para configurar tu identidad en Git, con tu nombre y correo. Esto es necesario para que Git te configure como contribuidor de código.
Si ya tienes una cuenta, haz click en Sign in y valídate.
Si no tienes una cuenta, crea una haciendo click en Sign up. Introduce un nombre de usuario, un correo, y una contraseña. Una vez con una cuenta, entra en GitHub con ella.
La primera vez que entras en GitHub, te pedirá una verificación a través del correo electrónico. Una vez verificado, aparecerás en tu página de GitHub.
Descarga Node.js. Usa la versión LTS actual disponible.
Instala con las opciones por defecto.
Comprueba que Node.js está correctamente instalado. Abre un terminal y ejecuta node -v. Si aparece el número de versión entonces Node.js está correcto.
Crea un fork de los proyectos. Un fork no es sino una copia de un proyecto en tu propia cuenta, de modo que los cambios hechos a la copia no afecten al proyecto original. Para hacer los fork haz click en el botón Fork de la esquina superior derecha de cada página de proyecto GitHub.
En unos pocos segundos una copia de los proyectos de la Urantiapedia se creará en tu cuenta de GitHub. Estos proyectos son una copia nueva y completa en la que puedes hacer todos los cambios que necesites sin afectar a los proyectos originales.
Descarga e instálalo. Durante la instalación es recomendable marcar la opción “Añadir acción ‘Abrir con Code’ al menú contextual de los directorios” si eres un usuario de Windows.
Ábrelo. La primera vez que se abre puedes establecer algunas opciones. Sáltalas.
En VS Code haz click en el botón Extensiones en la botonera lateral izquierda. Es muy recomendable instlar una extensión llamada “GitLens”. Suele estar en la lista de las extensiones más populares. Localízala y haz click en el botón de instalar.
Ahora tendrás un nuevo botón para GitLens en la botonera de la izquierad de VS Code. Haz click en él y click en el botón “Welcome (Quick setup)”. Se abre la página Welcome. Es recomendabble seleccionar “Source control layout” como vista por defecto. Esto hace que GitLens se fusione con el panel “Source control” por edfecto de VS Code.
Abre tus forks de los proyectos de la Urantiapedia que has creado antes.
En la página principal localiza un menú verde llamado “Code” y en él haz click para copiar la URL del proyecto, algo como https://github.com/<username>/urantiapedia.git y https://github.com/<username>/urantiapedia-backup.git.
Abre VS Code, abre el panel “Source control” y haz click en “Clone repository”.
En la casilla de texto que aparece teclea o pega la ruta copiada antes.
Selecciona “Clone from GitHub”.
Haz click en Allow in the GitHub extension to sign in.
Aparece una página web pidiendo autorización de VS Code para acceder GitHub. Haz click en Continue.
Haz click en Authorize github.
Ahora se te redirige a una nueva página web donde se abre un mensaje. Haz click en “Open VS Code”.
Ahora haz click en Open para permitir el uso de la ruta proporcionada. Si algo va mal repite desde el punto 4.
Cuando se muestra el nombre del repositorio de tu proyecto de la Urantiapedia en la central de comandos selecciónalo. Aparecerá un cuadro de diálogo preguntando por una carpeta. Selecciona cualquier carpeta o crea una para el proyecto.
Espera unos segundos para que VS Code clone el repositorio. Finalmente haz click en “Open repo”. También haz click en “Yes, I trust the authors”.
Tus repositorios locales son una copia completa de los proyecto para que puedas guardar los cambios cada vez que tengas algunos cambios que se puedan publicar.
Verás que tienes cambios cuando aparezca un número en el icono del botón “Source control”.
Haz click en “Source control”.
En el subpanel “Source control”, verás una lista de archivos modificados. Pasa el ratón sobre ellos y haz click en el botón “Stage changes” que aparecerá.
Una vez que los cambios están en el stage, introduce un mensaje para el commit y haz click en el botón “Commit”. Los cambios se agregan a tu repositorio local.
Para enviar tus cambios a tu repositorio remoto en GitHub, haz click en el botón “Sync changes” que aparece cuando existen nuevos commits. Esto hará un pull y push recibiendo y enviando cualquier cambio entre tu copias local y remota del proyecto.
Puedes verificar que tus commits se envían correctamente abriendo tu página de GitHub Urantiapedia.
El proyecto Urantiapedia es la versión para desarrollo y trabajo con los contenidos. El proyecto Urantiapedia-backup contiene únicamente el contenido, y está sincronizado con la página web, por lo que introducir cambios en él equivale a hacer cambios masivos en la web.
Si tus cambios en el proyecto Urantiapedia incluyen cambios en el contenido (carpeta /output/wikijs) debes sincronizar esos cambios con el proyecto Urantiapedia-backup con cualquier utilidad de sincronización o bien simplemente copiando y pegando entre carpetas.
¶ Crear “pull requests” para los proyectos de Urantiapedia
Cuando tengas un número suficiente de commits enviados a tus propios forks de los proyectos Urantiapedia, puedes enviar tus cambios a esos proyectos para que los cambios puedan revisarse y fusionarse en ellos. Esto se denomina “pull request” en la terminología de GitHub.
Abre cada una de las páginas de Urantiapedia en GitHub.
https://github.com/<username>/urantiapedia
https://github.com/<username>/urantiapedia-backup
Asegúrate de estar en la rama principal que se llama “master”. La rama aparece en un menú en la parte superior de la lista de archivos.
Selecciona el menú Contribute que aparece a continuación y luego selecciona “Open pull request”. Si el menú dice “This branch is not ahead of the upstream master” (“Esta rama no está por delante de la rama master”), primero debes hacer un fetch del proyecto principal. Mira más adelante.
Agrega un título a tus contribuciones. También puedes agregar una descripción.
Haz click en “Create pull request”. Haz un “pull request” por cada proyecto en el que tengas cambios.
Esto enviará una notificación a los “administradores” del proyecto que fusionarán sus cambios si no encuentran problemas.
Como Urantiapedia es el esfuerzo de un equipo de colaboradores, es común que en cualquier momento tus forks de los proyectos no esté sincronizado con los proyectos principales. Es una buena práctica que antes de cualquier pull request sincronices tus forks con los proyectos principales.
Abre cualquier de tus páginas de Urantiapedia en GitHub.
Selecciona el menú “Fetch upstream” que aparece debajo del selector de ramas y haz click en “Fetch and merge”. Esto copiará todos los cambios nuevos del proyecto principal a tu fork del proyecto.
Ve a VS Code.
Abre el proyecto como ya se ha explicado.
En el panel “Source control”, ve al subpanel “Remotes”. Debes tener un repositorio remoto listado allí llamado JanHerca/urantiapedia. Haz click en el botón “Fetch” al lado del nombre. Esta acción recupera y envía cambios al mismo tiempo para sincronizar el repositorio local.
A veces, los cambios en el código de las “Urantiapedia Tools” implican cambios en las dependencias. Debes instalar o actualizar nuevas dependencias ejecutando el comando npm install desde una terminal en VS Code. Esto actualizará las dependencias del proyecto.
En resumen, el proceso en GitHub es el siguiente (ver el diagrama):
El «Editor jefe» crea un fork (una copia en su propia cuenta) de los proyectos Urantiapedia en GitHub: Urantiapedia y Urantiapedia-backup.
El «Editor Jefe» crea una copia local de los proyectos en su PC. Esto se hace primero a través de una acción clone y luego a través de acciones fetch upstream en la web de GitHub y a través de acciones pull a los proyectos locales, que descargan cualquier cambio en la copia local.
El «Editor jefe» realiza cambios en la copia local de los proyectos y hace commits en la copia local.
El «Editor jefe» envía cambios a los proyectos de GitHub a través de acciones push.
Luego, el «Editor jefe» crea pull requests desde el sitio web de GitHub para ambos proyectos: Urantiapedia y Urantiapedia-backup.
Estos pull requests de los «Editores Jefe» son revisados por un «Administrador», quien se encargan de hacer un merge con la rama principal (master) de todos aquellos cambios que sean correctos. Cualquier cambio que no sea correcto será rechazado y se notificará a los «Editores Jefe» para que los corrijan.
Cuando los cambios son correctos, el «Administrador» hace un merge de ellos y se sincronizan automáticamente con la web.