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, examen o proyecto deberá tener un archivo README.md donde 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 entrega
    • AAAA, BBBB, CCCC y DDDD son 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-0 y examen-0 como 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

$ 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/'
$ 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/'
$ 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

$ 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
$ 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.md con 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
$ 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

  • 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.md es únicamente una muestra
  • Cada actividad tendrá una lista de entregables y un formato para el reporte
# Andrés Hernández

- Número de cuenta: `123456789`
- Usuario de GitLab: `@tonejito`
- Usuario de Telegram: `@tonejito`
- [tarea][liga-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
|:---------------------:|
| ![](img/imagen.png)

<!--
	Este es un comentario de Markdown, no aparecerá en el _render_ de HTML estático
-->

[liga-tarea]: https://Redes-Ciencias-UNAM.gitlab.io/2027-1/tareas-redes/tareas/tarea-1

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

$ git status
On branch tarea-1
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/

nothing added to commit but untracked files present (use "git add" to track)

Agrega los archivos de tu carpeta con git add

$ git add docs/tareas/tarea-1/HernandezBermudezAndresLeonardo/

Revisa que los archivos hayan sido agregados al staging area utilizando git status

$ 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-commit se ejecuta cuando invocas git commit y 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
$ 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

$ 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

$ git branch
  entregas
* tarea-1	⬅️

Probar la autenticación de GitLab OAuth#

Envía los cambios a tu repositorio utilizando git push

$ 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

$ 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:

$ 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:

$ 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