├── 01-crear-repo.md ├── 02-clonar-vscode.md ├── 03-rama-calculadora.md ├── 04-pull-request-basico.md ├── 05-crear-issue.md ├── 06-rama-issue.md ├── 07-readme-proyecto.md ├── 08-discusion.md └── README.md /01-crear-repo.md: -------------------------------------------------------------------------------- 1 | # Paso 1: Crear un Repositorio Público 2 | 3 | 1. Ve a [github.com](https://github.com) e inicia sesión. 4 | 2. Haz clic en `+` (arriba a la derecha) y selecciona **New repository**. 5 | 3. Asigna un nombre como `matematicas`. 6 | 4. Marca el repositorio como **Public**. 7 | 5. Opcional: Añade un README inicial y una licencia. 8 | 6. Haz clic en **Create repository**. 9 | 10 | [Siguiente paso: Clonar el repositorio y abrir en VS Code »](02-clonar-vscode.md) 11 | -------------------------------------------------------------------------------- /02-clonar-vscode.md: -------------------------------------------------------------------------------- 1 | # Paso 2: Clonar y Abrir en VS Code 2 | 3 | 1. Copia la URL del repositorio (`Code > HTTPS`). 4 | 2. Abre la terminal y ejecuta: 5 | 6 | ```bash 7 | git clone https://github.com/tu_usuario/calculadora-js.git 8 | cd calculadora-js 9 | ``` 10 | 11 | 3. Abre VS Code con: 12 | 13 | ```bash 14 | code . 15 | ``` 16 | 17 | 4. creamos el archivo `calculadora.js` 18 | ```bash 19 | touch calculadora.js 20 | ``` 21 | 22 | 5. lo agregamos para que `GIT` le haga seguimiento, luego confirmamos el cambio con `commit` 23 | ```bash 24 | git add calculadora.js 25 | git commit -m "subida inicial" 26 | ``` 27 | 28 | 6. subimos los cambios al repositorio en github 29 | ```bash 30 | git push origin main 31 | ``` 32 | 33 | 34 | [Anterior](01-crear-repo.md) | [Siguiente: Crear una rama y añadir la calculadora »](03-rama-calculadora.md) 35 | -------------------------------------------------------------------------------- /03-rama-calculadora.md: -------------------------------------------------------------------------------- 1 | # Paso 3: Crear Rama y Añadir Código de la Calculadora 2 | 3 | 1. Crea una nueva rama: 4 | 5 | ```bash 6 | git checkout -b calculadora-basica 7 | ``` 8 | 9 | 2. Crea un archivo `calculadora.js` con lo siguiente: 10 | 11 | ```javascript 12 | function sumar(a, b) { 13 | return a + b; 14 | } 15 | 16 | function restar(a, b) { 17 | return a - b; 18 | } 19 | ``` 20 | 21 | 3. Guarda el archivo. 22 | 23 | 4. Agrega y haz commit: 24 | 25 | ```bash 26 | git add calculadora.js 27 | git commit -m "Agregar suma y resta a la Calculadora" 28 | git push origin calculadora-basica 29 | ``` 30 | 31 | [Anterior](02-clonar-vscode.md) | [Siguiente: Crear el Pull Request »](04-pull-request-basico.md) 32 | -------------------------------------------------------------------------------- /04-pull-request-basico.md: -------------------------------------------------------------------------------- 1 | # Paso 4: Hacer Pull Request y Combinar en `main` 2 | 3 | 1. Ve a la pestaña `Pull Requests` en GitHub. 4 | 2. Crea un nuevo pull request desde `calculadora-basica` a `main`. 5 | 3. Agrega una descripción breve y clara. 6 | 4. Haz clic en **Create Pull Request**. 7 | 5. Aprueba y haz **Merge**. 8 | 9 | [Anterior](03-rama-calculadora.md) | [Siguiente: Crear y asignar un Issue »](05-crear-issue.md) 10 | -------------------------------------------------------------------------------- /05-crear-issue.md: -------------------------------------------------------------------------------- 1 | # Paso 5: Crear y Asignar un Issue 2 | 3 | 1. Ve a la pestaña `Issues`. 4 | 2. Crea un nuevo issue titulado: **Agregar multiplicación y división**. 5 | 3. En la descripción, explica que faltan esas funciones. 6 | 4. Asígnate el issue (`Assignees`). 7 | 8 | [Anterior](04-pull-request-basico.md) | [Siguiente: Resolver el issue con una nueva rama »](06-rama-issue.md) 9 | -------------------------------------------------------------------------------- /06-rama-issue.md: -------------------------------------------------------------------------------- 1 | # Paso 6: Resolver el Issue en Nueva Rama 2 | 3 | 1. Sincroniza tu repositorio local: 4 | 5 | ```bash 6 | git checkout main 7 | git pull origin main 8 | ``` 9 | 10 | 2. Crea una nueva rama: 11 | 12 | ```bash 13 | git checkout -b operaciones-extra 14 | ``` 15 | 16 | 3. Edita `calculadora.js` y agrega: 17 | 18 | ```javascript 19 | function multiplicar(a, b) { 20 | return a * b; 21 | } 22 | 23 | function dividir(a, b) { 24 | if (b === 0) throw new Error("División por cero"); 25 | return a / b; 26 | } 27 | ``` 28 | 29 | 4. Guarda, agrega y haz commit: 30 | 31 | ```bash 32 | git add calculadora.js 33 | git commit -m "Agregar multiplicación y división" 34 | git push origin operaciones-extra 35 | ``` 36 | 37 | 5. Crea un Pull Request hacia `main`, asociando el Issue (usa `Closes #N` en la descripción). 38 | 39 | 6. Acepta el Pull Request. El issue se cerrará automáticamente. 40 | 41 | [Anterior](05-crear-issue.md) | [Siguiente: Crear un README detallado »](07-readme-proyecto.md) 42 | -------------------------------------------------------------------------------- /07-readme-proyecto.md: -------------------------------------------------------------------------------- 1 | # Paso 7: Crear un README detallado en la rama `main` 2 | 3 | 1. Crea el archivo `README.md` en la raíz del proyecto con el siguiente contenido: 4 | 5 | ```markdown 6 | # Calculadora JS 7 | 8 | Una calculadora simple implementada en JavaScript que permite realizar operaciones básicas. 9 | 10 | ## Características 11 | 12 | - Operaciones disponibles: `suma`, `resta`, `multiplicación`, `división` 13 | - Código limpio y modular 14 | - Listo para extenderse con interfaz web o CLI 15 | 16 | ## Instalación 17 | 18 | Clona el repositorio: 19 | 20 | ```bash 21 | git clone https://github.com/tu_usuario/calculadora-js.git 22 | cd calculadora-js 23 | ``` 24 | 25 | ## Pruebas rápidas 26 | 27 | Edita `index.html` o usa consola del navegador: 28 | 29 | ```html 30 | 31 | 35 | ``` 36 | 37 | ## Estructura del Proyecto 38 | 39 | ``` 40 | calculadora-js/ 41 | ├── calculadora.js 42 | └── README.md 43 | ``` 44 | 45 | ## Futuras mejoras 46 | 47 | - Agregar interfaz gráfica con HTML/CSS 48 | - Crear pruebas automatizadas con Jest 49 | - Convertir en módulo NPM 50 | ``` 51 | 52 | 2. Guarda, agrega y haz push: 53 | 54 | ```bash 55 | git add README.md 56 | git commit -m "Agregar README detallado del proyecto" 57 | git push origin main 58 | ``` 59 | 60 | [Anterior](06-rama-issue.md) | [Siguiente: Crear una discusión »](08-discusion.md) 61 | -------------------------------------------------------------------------------- /08-discusion.md: -------------------------------------------------------------------------------- 1 | # Paso 8: Crear una Discusión 2 | 3 | 1. Ve a la pestaña `Discussions`. 4 | 2. Crea una nueva discusión. 5 | 3. Ejemplo de título: **¿Qué mejoras podríamos implementar en esta calculadora?** 6 | 4. En la descripción, sugiere ideas como: 7 | - Interfaz web simple con HTML/CSS. 8 | - Agregar pruebas automáticas. 9 | - Convertir en una API con Node.js. 10 | 11 | ¡Listo! Has completado el tutorial. 12 | 13 | [Anterior](07-readme-proyecto.md) | [Volver al Inicio »](README.md) 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tutorial: Colaboración en GitHub con un Proyecto de Calculadora 2 | 3 | Este repositorio contiene un tutorial paso a paso para aprender a colaborar en GitHub mediante la creación y evolución de un pequeño proyecto: una calculadora en JavaScript. 4 | 5 | ### Contenido del Tutorial 6 | 7 | 1. [Crear un repositorio público](01-crear-repo.md) 8 | 2. [Clonar el repositorio y abrirlo en VS Code](02-clonar-vscode.md) 9 | 3. [Crear una rama para añadir la calculadora](03-rama-calculadora.md) 10 | 4. [Hacer un pull request básico](04-pull-request-basico.md) 11 | 5. [Crear y asignar issues](05-crear-issue.md) 12 | 6. [Resolver un issue con una nueva rama](06-rama-issue.md) 13 | 7. [Crear un README detallado](07-readme-proyecto.md) 14 | 8. [Abrir una discusión](08-discusion.md) 15 | 16 | --- 17 | 18 | > Sigue los archivos en orden para completar el flujo de trabajo completo. 19 | --------------------------------------------------------------------------------