
# Git y Github


## El repositorio de pontedatos

-   Ya tenemos un repositorio en la organización a la que pertenecemos como clase, <https://github.com/pontedatos/uc3m-periodismo-datos>
-   Lo que vamos a hacer es o bien descargarlo si no lo hemos hecho o bien actualizarlo si ya lo habíamos descargado.
-   Cuando digo "descargarlo" en realidad digo "clonarlo", es decir, voy a la carpeta de mi elección con el comando `cd` y escribo `git clone https://github.com/pontedatos/uc3m-periodismo-datos.git`.
-   Esto creará una carpeta por debajo de donde me encuentro con el nombre `uc3m-periodismo-datos`. Esa carpeta es un repositorio git en nuestro ordenador, en `localhost`, que tiene el mismo contenido que el de la dirección desde donde me lo he clonado.
-   Si ya hubiera hecho esto alguna vez tendría que ponerme dentro de la carpeta y actualizar con `git pull`.


## Nuestro repositorio

-   Es probable que tengáis un repositorio vuestro cuyos contenidos solo estén en github.
-   Vamos a descargarnos los datos de la misma manera que antes.
-   Nos situamos en la carpeta elegida y clonamos con `git clone` seguido de la dirección de nuestro repositorio git en github.
-   Luego con `cd` nos situamos dentro del repositorio.
-   Ahora con `nano` o nuestro editor favorito cambiamos algo, guardamos, cerramos y seguimos tres pasos para actualizar los cambios en github:  
    -   `git add nombre-archivo-cambiado`
    -   `git commit -m "comentario del cambio"`
    -   `git push main origin`
-   Si al dar git push da error consultamos el error por el foro.


## No tenemos un repositorio

-   Si no tuviéramos un repositorio podríamos crear uno nuevo.
-   Primero creamos una carpeta con el nombre que queramos aunque lo suyo es que sea el nombre del repositorio.
-   Luego con `cd`  nos situamos dentro de la carpeta.
-   Y entonces creamos un repositorio en Github y, cuando llegue el caso, seguimos en la terminal estos pasos que indican:

    echo "# Proyecto de ..." >> README.md
    git init
    git add README.md
    git commit -m "primer commit"
    git remote add origin https://github.com/cuenta/nombre-repositorio
    git push -u origin main


# Enlaces

-   Viejo manual de git y Github: <https://flowsta.github.io/github/>
-   Recordad mis notas sobre Markdown en <https://flowsta.github.io/markdown>
-   Editores para Markdown:  
    -   MarkDownEditor, W$, <https://github.com/chenguanzhou/MarkDownEditor>
    -   Abricotine, W$-OSX-GX, <https://abricotine.brrd.fr/>
    -   MarkText, W$-OSX-GX, <https://marktext.app/>
    -   Ghostwriter, W$-OSX-GX, <https://wereturtle.github.io/ghostwriter/>
    -   Atom, GX, <https://atom.io/>
    -   VSCodium, W$-OSX-GX, <https://vscodium.com/>
    -   Remarkable, W$-GX, <https://remarkableapp.github.io/>
    -   Haroopad, W$-OSX-GX, <http://pad.haroopress.com/user.html>
    -   Emacs, W$-OSX-GX, <https://www.gnu.org/software/emacs/>
    -   nano, CLI, <https://www.nano-editor.org/>
-   Data Science at the Command Line <https://www.datascienceatthecommandline.com/>


# Pruebas


## git

-   Tal como hemos hecho con git y Github, clona tu repositorio en el lugar que consideres adecuado y coméntalo.
-   Edita alguno de los archivos con tu editor favorito, por ejemplo, `nano`. Si no te acuerdas puedes preguntar por el foro y/o bien probar algún otro editor de los mencionados anteriormente.
-   Actualiza el repositorio remoto.


## Comentario de visualización

-   Según dijimos en la primera sesión, realiza un comentario de una o varias visualizaciones de datos y/o infografías que queráis y justificar las respuestas y la elección.


# Recordatorios

-   Se puede solicitar tutoría para tratar temas del curso.
-   Quien tiene problemas con ruby puede probar con la vía propuesta en la sesión anterior y contar cómo ha ido.
-   Quien no tenga Cygwin configurado que repase los apuntes. Conviene tener instalado `apt-cyg` y el cambio de la `home`.
-   Quien elija `nano` puede visitar su página web por si encuentra información útil: <https://www.nano-editor.org/>.


# ToDo

-   Estilo de la terminal
-   Estilo de PS1
-   Resaltado de sintaxis en `nano`.
-   [Atajos](https://www.nano-editor.org/dist/latest/cheatsheet.html) en `nano`
-   Personalización en `nano`

