Agregar contenido a tu fork del repositorio#
Estructura de directorios#
La estructura de directorios que se manejará para las entregas tiene una carpeta principal llamada docs y dentro una carpeta para cada tipo de actividad: tareas, practicas, examenes o proyectos.
- Dentro de cada carpeta se creará una sub-carpeta para identificar la actividad (
tarea-1,practica-2, etc.) y dentro otra carpeta con el nombre del alumno o el nombre del equipo según sea el caso.
| Actividad | Tipo de entrega | Nombre de la carpeta |
|---|---|---|
| Tareas | Entrega individual | docs/tareas/tarea-1/ApellidoApellidoNombreNombre |
| Prácticas | Entrega en equipo | docs/practicas/practica-2/Equipo-AAAA-BBBB-CCCC-DDDD |
| Examenes | Entrega en equipo | docs/examenes/examen-3/Equipo-AAAA-BBBB-CCCC-DDDD |
| Proyectos | Entrega en equipo | docs/proyectos/proyecto-final/Equipo-AAAA-BBBB-CCCC-DDDD |
Danger
Restricciones
- No utilizar espacios, acentos, eñe, diéresis ni caracteres especiales en ningún nombre de rama ni nombre de archivo o carpeta
- Cada carpeta de
tarea,práctica,examenoproyectodeberá tener un archivoREADME.mddonde los alumnos listan la documentación que se entrega con la actividad solicitada - Cada equipo creará una carpeta llamada
Equipo-AAAA-BBBB-CCCC-DDDD, donde se realizará la entregaAAAA,BBBB,CCCCyDDDDson las iniciales de los integrantes del equipo iniciando con los apellidos
Agregar carpeta de la actividad#
Crea la carpeta correspondiente a tu actividad, así como los directorios img y files.
| Actividad | Nombre de la carpeta |
|---|---|
| Tareas | docs/tareas/tarea-1/ApellidoApellidoNombreNombre |
| Prácticas | docs/practicas/practica-2/Equipo-AAAA-BBBB-CCCC-DDDD |
| Examenes | docs/examenes/examen-3/Equipo-AAAA-BBBB-CCCC-DDDD |
| Proyectos | docs/proyectos/proyecto-final/Equipo-AAAA-BBBB-CCCC-DDDD |
Danger
- Esta guía utiliza
tarea-0,practica-0yexamen-0como actividades de ejemplo - Ajusta el nombre de la carpeta de acuerdo a la actividad que estás entregando.
Info
Da clic en la pestaña para seleccionar tu actividad y mostrar el paso a seguir
```console $ mkdir -vp docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/ mkdir: created directory 'docs' mkdir: created directory 'docs/tareas' mkdir: created directory 'docs/tareas/tarea-1' mkdir: created directory 'docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/'
$ mkdir -vp docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/img/ mkdir: created directory 'docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/img/'
$ mkdir -vp docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/files/ mkdir: created directory 'docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/files/' ```
```console $ mkdir -vp docs/practicas/practica-0/Equipo-ABCD-EFGH-IJKL-MNOP/ mkdir: created directory 'docs' mkdir: created directory 'docs/practicas/' mkdir: created directory 'docs/practicas/practica-0/' mkdir: created directory 'docs/practicas/practica-0/Equipo-ABCD-EFGH-IJKL-MNOP/'
$ mkdir -vp docs/practicas/practica-0/Equipo-ABCD-EFGH-IJKL-MNOP/img/ mkdir: created directory 'docs/practicas/practica-0/Equipo-ABCD-EFGH-IJKL-MNOP/img/'
$ mkdir -vp docs/practicas/practica-0/Equipo-ABCD-EFGH-IJKL-MNOP/files/ mkdir: created directory 'docs/practicas/practica-0/Equipo-ABCD-EFGH-IJKL-MNOP/files/' ```
```console $ mkdir -vp docs/examenes/examen-0/Equipo-ABCD-EFGH-IJKL-MNOP/ mkdir: created directory 'docs' mkdir: created directory 'docs/examenes/' mkdir: created directory 'docs/examenes/examen-0/' mkdir: created directory 'docs/examenes/examen-0/Equipo-ABCD-EFGH-IJKL-MNOP/'
$ mkdir -vp docs/examenes/examen-0/Equipo-ABCD-EFGH-IJKL-MNOP/img/ mkdir: created directory 'docs/examenes/examen-0/Equipo-ABCD-EFGH-IJKL-MNOP/img/'
$ mkdir -vp docs/examenes/examen-0/Equipo-ABCD-EFGH-IJKL-MNOP/files/ mkdir: created directory 'docs/examenes/examen-0/Equipo-ABCD-EFGH-IJKL-MNOP/files/' ```
Agregar una imagen#
Copia tus imagenes en formato png dentro del directorio img
Note
Recuerda utilizar la carpeta adecuada dependiendo de la actividad que estás entregando
console
$ cp -v ~/imagen.png docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/img/
'/home/tonejito/imagen.png' -> 'docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/img/imagen.png'
Warning
- Asegúrate de que cada imagen no pese más de
100 KB
console
$ ls -lAh docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/img/
total 28K
-rw-r--r-- 1 tonejito tonejito 28K Sep 28 00:10 imagen.png
Note
El nombre de tu imagen segúramente es diferente, pero debe estar dentro de la capeta img
Agregar archivo README.md#
- Crea un archivo
README.mdcon el contenido de muestra- Agrega una referencia a la imagen que incluiste en el paso anterior para que se muestre dentro del archivo
README.md
- Agrega una referencia a la imagen que incluiste en el paso anterior para que se muestre dentro del archivo
console
$ touch docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/README.md
$ editor docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/README.md
Note
Reemplaza el comando editor con el editor de texto de tu preferencia
- Puedes utilizar el IDE de GitLab que cuenta con una función de previsualización de Markdown
- También puedes visualizar cómo se convierte de Markdown a HTML en algún sitio como stackedit.io
- Contenido de ejemplo para el archivo
README.md- Este archivo contiene un título, algunas listas, una liga a una URL externa y una referencia a una imágen
Danger
- Este contenido para el archivo
README.mdes únicamente una muestra - Cada actividad tendrá una lista de entregables y un formato para el reporte
```console
Andrés Hernández#
- Número de cuenta:
123456789 - Usuario de GitLab:
@tonejito - Usuario de Telegram:
@tonejito - tarea
Hola, estas son las caracteristicas de mi computadora:
| Elemento | Valor |
|---|---|
| CPU | Intel Core i7 |
| Arquitectura | x86_64 |
| RAM | 16 GB |
| Disco | 512 GB |
| Sistema Operativo | Debian 13 trixie |
| Kernel | 6.18.5+deb13-amd64 |
Capturas de pantalla:
| Esta es mi imagen |
|---|
![]() |
```
Note
- El nombre de tu imagen seguramente es diferente, pero debe estar dentro de la capeta
img
Warning
- Asegúrate de que cada imagen no pese más de
100 KB
Revisa el estado de los cambios#
Una vez que hayas creado los archivos, revisa el estado del repositorio
Note
Recuerda utilizar la carpeta adecuada dependiendo de la actividad que estás entregando
```console
$ git status
On branch tarea-1
Untracked files:
(use "git add
nothing added to commit but untracked files present (use "git add" to track) ```
Agrega los archivos de tu carpeta con git add
console
$ git add docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/
Revisa que los archivos hayan sido agregados al staging area utilizando git status
console
$ git status
On branch tarea-1
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/README.md
new file: docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/img/imagen.png
Versiona los cambios a tu repositorio#
Versiona los archivos con git commit
Warning
- Utiliza comillas simples para especificar el mensaje del commit
- Evita utilizar comillas dobles porque el shell interpreta algunos caracteres como
*,`, etc.
Danger
- El programa
pre-commitse ejecuta cuando invocasgit commity verifica que no tengas errores en el formato de entrega - Estas verificaciones no son infalibles y debes indentar de manera adecuada tu código en C para cumplir con los estándares
```console $ git commit -m 'tarea-1 - Andrés Hernández'
💠 Se ejecuta pre-commit justo antes de versionar los archivos 💠
Check invalid filepaths and branch.......................................Passed Check invalid filenames..................................................Passed Check invalid filetypes..................................................Passed check-invalid-branch.....................................................Passed check for added large files..............................................Passed check for case conflicts.................................................Passed check that executables have shebangs................(no files to check) Skipped check that scripts with shebangs are executable..........................Passed check for merge conflicts................................................Passed check for broken symlinks...........................(no files to check) Skipped check vcs permalinks.....................................................Passed detect destroyed symlinks................................................Passed detect private key.......................................................Passed fix end of files.........................................................Passed file contents sorter................................(no files to check) Skipped fix utf-8 byte order marker..............................................Passed forbid new submodules...............................(no files to check) Skipped mixed line ending........................................................Passed trim trailing whitespace.................................................Passed
💠 Se versionan los archivos si pre-commit no encontró errores de formato 💠
[tarea-1 9d6f19b] Carpeta de Andrés Hernández 2 files changed, 24 insertions(+) create mode 100644 docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/README.md create mode 100644 docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/img/imagen.png
```
Envía los cambios a tu repositorio#
Revisa que el remote apunte a tu repositorio con git remote
console
$ git remote -v
origin https://gitlab.com/USUARIO/tareas-redes.git (fetch)
origin https://gitlab.com/USUARIO/tareas-redes.git (push)
Danger
Si la salida del comando anterior no apunta a tu fork del repositorio, tendras que borrar el directorio y volver a repetir los pasos desde la sección "clona el repositorio"
Revisa la rama en la que estas para enviarla a GitLab
console
$ git branch
entregas
* tarea-1 ⬅️
Probar la autenticación de GitLab OAuth#
Envía los cambios a tu repositorio utilizando git push
console
$ git push -u origin tarea-1
Please complete authentication in your browser...
https://gitlab.com/oauth/authorize?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&code_challenge=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&code_challenge_method=xxxx&redirect_uri=http%3A%2F%2F127.0.0.1%3A65535&response_type=code&scope=read_repository+write_repository&state=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxx
...
Se abrirá una pantalla donde se da el acceso de OAuth a la aplicación git-credential-oauth instalada en la máquina local.
- Da clic en el botón Authorize
git-credential-oauth

Aparecerá un mensaje de éxito indicando que se puede cerrar la ventana del navegador web.

Regresa a la terminal y confirma que se hayan enviado los cambios a GitLab
console
$ git push -u origin tarea-1
...
Enumerating objects: 12, done.
Counting objects: 100% (12/12), done.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (9/9), 28.38 KiB | 330.00 KiB/s, done.
Total 9 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
remote:
remote: To create a merge request for tarea-1, visit:
remote: https://gitlab.com/USUARIO/tareas-redes/-/merge_requests/new?merge_request%5Bsource_branch%5D=tarea-1
remote:
To https://gitlab.com/USUARIO/tareas-redes.git
1a2b3c4..6d7e8f9 tarea-1 -> tarea-1
Guarda la URL que te dio el paso anterior para crear tu merge request:
Agrega otro commit vacío para introducir una nueva revisión en el repositorio local:
console
$ git commit --allow-empty -m "Probando autenticación con git-credential-oauth"
Check invalid filepaths and branch..................(no files to check) Skipped
Check invalid filenames.............................(no files to check) Skipped
Check invalid filetypes.............................(no files to check) Skipped
check-invalid-branch.....................................................Passed
check for added large files.........................(no files to check) Skipped
check for case conflicts............................(no files to check) Skipped
check that executables have shebangs................(no files to check) Skipped
check that scripts with shebangs are executable.....(no files to check) Skipped
check for merge conflicts...........................(no files to check) Skipped
check for broken symlinks...........................(no files to check) Skipped
check vcs permalinks................................(no files to check) Skipped
detect destroyed symlinks...........................(no files to check) Skipped
detect private key..................................(no files to check) Skipped
fix end of files....................................(no files to check) Skipped
file contents sorter................................(no files to check) Skipped
fix utf-8 byte order marker.........................(no files to check) Skipped
forbid new submodules...............................(no files to check) Skipped
mixed line ending...................................(no files to check) Skipped
trim trailing whitespace............................(no files to check) Skipped
[tarea-1 4c3b2a1] Probando autenticación con git-credential-oauth
Envía el commit al repositorio para comprobar que la autenticación OAuth funciona:
console
$ git push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 233 bytes | 33.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote:
remote: To create a merge request for tarea-1, visit:
remote: https://gitlab.com/tonejo/tareas-redes/-/merge_requests/new?merge_request%5Bsource_branch%5D=tarea-1
remote:
To https://gitlab.com/tonejo/tareas-redes.git
9f8e7d6..4c3b2a1 tarea-1 -> tarea-1
Note
- Continúa en la siguiente página cuando hayas agregado el contenido a tu fork y enviado los cambios a tu repositorio en GitLab.
| ⇦ | ⇧ | ⇨ |
|---|---|---|
| Página anterior | Arriba | Página siguiente |
