flowsta/sesiones/2021-10-20.md
2021-10-23 21:03:24 +02:00

7.5 KiB
Raw Blame History

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

No nos reconoce

  • Comenta una compañera que tiene problemas con git porque en el paso git commit -m le sale un aviso que no logra interpretar.
  • Una recomendación previa y para que lo tengáis en cuenta: conviene leer los mensajes que da el software e intentar interpretarlos adecuadamente. A veces nos "resuelven" el problema. Entiendo que "desconciertan" pero también hay que acostumbrarse a leerlos, a buscar soluciones e intentar resolver problemas/inconvenientes que surjan. En este caso, además, la compañera ha compartido una captura de pantalla del aviso y de esa manera ha sido fácil resolverlo, os lo cuento.
  • Spoiler: lo que dice se resuelve en esta sección de este manual que os enlacé con mis notas de git y github:

https://flowsta.github.io/github/#outline-container-org19f011c

  • Os lo explico paso a paso. La primera vez que usamos en el ordenador git de la manera que os propuse, es decir, no desde la interfaz de Github sino desde vuestro ordenador, a través de la terminal, tenemos que identificarnos.
  • En este caso lo que dice es Author identity unknown, es decir, se desconoce la identidad de quién eres para git, para firmar ese commit y luego subirlo al servidor que vas a utilizar.
  • Y además añade *** Por favor, cuéntame quién eres
  • A continuación dice que corras (que ejecutes) dos líneas de instrucciones en la terminal. Tened en cuenta que cuando salen varias líneas en este tipo de avisos, como cuando instalamos apt-cyg, no se copian las dos líneas juntas sino que se pone primero una, se ejecuta, y luego la otra.
  • En este caso, lo que dice primero es que les digas cuál es tu dirección de correo electrónico. En este caso, como usamos como servidor externo a Github, ponemos el correo electrónico con el que nos hemos registrado en Github: git config --global user.email "tu-email-en-github"
  • En esta instrucción, la opción --global indica a git que siempre vas a usarlo en la terminal con este mismo user.email. Por tanto, no tendrás que volver a configurar esto.
  • La siguiente línea solicita que le digas cuál el nombre de tu cuenta git config --global user.name "cuenta-en-github"
  • A partir de ahí podréis seguir hasta el próximo desafío.

🆕 Tokens

  • Para anticiparos el próximo "desafío" con que os vais a encontrar os cuento que Github cambió hace poco la forma de relacionarse con Github y ahora hay que generar una clave para subir los contenidos, para hacer el git push.
  • Antes había que poner la contraseña de github, ahora hay que generar una clave.
  • Esto se hace yendo a https://github.com/settings/tokens y generando un nuevo token.
  • Hay que darle un nombre, elegir una fecha de caducidad (puede ser "nunca" aunque, ya que estáis aprendiendo, mejor ponerle una caducidad para que tengáis que volver a ese paso en algún momento) y seleccionar un ámbito de actuación o "scopes".
  • Para lo que vamos a hacer basta con que marquéis "repo" y los que cuelgan de él:
    • repo
    • repo:status
    • repo_deployment
    • public_repo
    • repo:invite
    • security_events
  • Una vez marcado esto y creado el token os genera un "hash", un código que conviene que copiéis en alguna parte ⚠️ cuidado: no en los apuntes públicos y que será el que tengáis que poner cuando hagáis git push en vez de la contraseña.

Enlaces

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 en nano
  • Personalización en nano