GitHub para Periodistas

¿Control de Versiones?

Presentación por Gabriela "Gaba" Rodriguez / @gaba / Open News Fellow 2014

VozData en La Nacion

Como usamos GIT para desarrollar VozData

Control de Versiones

¿Por qué nos sirve software que maneje versiones?

Un software que facilite el manejo del historial de revisiones en nuestro proyecto.

¿Por que Git?

¿O por que los programadores lo usamos?

Guarda fotos, no diferencias

Git almacena la información como instantáneas del proyecto a lo largo del tiempo.

GIT Versiones

Funciona localmente

No necesitamos un servidor para trabajar con GIT

Integridad

GIT esta observandolo todo

GIT siempre añade información

Todo es recuperable. Queda huella de todo lo que haces en tu proyecto integrado a GIT

¿Por que GitHub?

Un poco de historia...

  1. Red social para proyectos de desarrollo de software
  2. Colaboración entre periodistas y programadores
  3. Guarda datos, mapas y código propio

¿Por que para un periodista?

colaboración en articulos, datos, proyectos

VozData en La Nacion

  1. potencio la colaboración entre programadores
  2. llevo control de los nuevos requerimientos y bugs
  3. manejamos prioridad de lo que necesitabamos desarrollar
  4. delegamos trabajo

Edición Colaborativa de un articulo

Wired publico un articulo sobre GitHub desde GitHub.

Links:

  1. https://github.com/WiredEnterprise/Lord-of-the-Files
  2. http://www.wired.com/2012/02/github-revisited/

Publicar tutoriales

Repositorio de manuales técnicos para periodistas. Como por ejemplo "Como construir tu primera aplicación de noticias"(en ingles) o "GitHub para periodistas".

Publicar tu página web

Hosteada en GitHub Pages

Conceptos Básicos y Taller Técnico

Repositorio

Se le llama al directorio en donde hemos inicializado GIT para controlar las versiones de sus archivos.

Clonar

Copia un repositorio remoto en el disco local.

Fork

Es un termino usado en GitHub para crear una copia (en github) de un repositorio de otra persona u organización. Esto se hace para colaborar sobre un proyecto ya existente o usar ese repositorio como base de tu propio proyecto.

Push y Pull

Cuando se hacen cambios localmente y se quieren enviar a GitHub (u otro repositorio remoto) se hace "un push" para empujar esos cambios al remoto.

Cuando se quieren traer cambios desde un repositorio remoto se hace "un pull" para tomar los cambios hacia el local.

Branches

Branches (ramales de tren) permite hacer cambios y experimentar con tu repositorio sin afectar tu proyecto. Se pueden crear diferentes caminos que tu repositorio pueda tomar. Estos caminos se pueden unir en git luego si asi se quiere.

Pull Request

Se usa en GitHub para hacer pedidos a un proyecto forkeado de que una los cambios que hiciste en tu repositorio.

Los tres estados de tu documento

Git tiene tres estados principales en los que se puede encontrar tu documento

  1. confirmado (committed) - ya esta dentro de la version actual
  2. preparado (staged) - estoy agregandolo a la siguiente version
  3. modificado (modified) - lo estoy modificando

Las tres secciones principales para un proyecto en GIT

  1. directorio de GIT
  2. área de preparación
  3. directorio de trabajo

Flujo de trabajo

  1. Se modifica archivos en tu directorio de trabajo.
  2. Se añaden los archivos al área de preparación.
  3. Se confirman los cambios, que lo que hace es tomar los archivos del área de preparación y los almacena de forma permanente en el directorio de Git.

Como instalar Git

  1. En Mac instalador.
  2. En Windows instalador.
  3. En Linux mediante manejador de paquetes: apt-get install git.

La linea de comandos

(parentesis para poder entender el shell de git)

Software que tiene una pantalla donde se pueden tipear comandos para que la computadora realize diferentes tareas.

  1. En Mac: application Terminal
  2. En Windows: prompt ó cygwin (ó git shell)
  3. En Linux: la consola

Algunos comandos

para tener mejor idea de como movernos en la linea de comandos

  1. Ayuda
    man comando
    help comando
  2. Listar Archivos
    ls
    dir
  3. Ver ubicación
    pwd
    cd

Algunos comandos

  1. Copiar archivos
    cp archivo_a_copiar nuevo_archivo
    copy archivo_a_copiar nuevo_archivo
  2. Mover archivos de lugar
    mv archivo_a_mover nuevo_lugar
    move archivo_a_mover nuevo_lugar

Algunos comandos

  1. Borrar archivos
    rm archivo_a_borrar
    remove archivo_a_borrar
  2. Mirar el contenido de archivos de texto
    less archivo_a_leer
    type archivo_a_leer

En GIT

  1. git clone
  2. git init
  3. git status
  4. git diff
  5. git log
  6. git add archivo_a_agregar_al_repositorio_git
  7. git commit
  8. git push
  9. git pull
  10. git help
GIT sheet

Como configurar GitHub

  1. Crear cuenta en GitHub.

Como crear un repositorio

Iniciando uno localmente

Ir al directorio del proyecto: cd directorio_path

Iniciar GIT:

git init

Agregar archivos:

git add archivos_a_agregar

Comitear:

git commit -m "Version inicial."

Agregandolo a github

  1. Crear repositorio en github.
  2. Agregar el remoto a el repositorio local:
    git remote add github_url_para_repo
  3. Enviar cambios:
    git push origin master

Como clonar uno ya existente

git clone github_url_para_repo

Como usar GitHub para colaborar

  1. "Fork" de los repositorios a colaborar.
  2. Crear "issues" de nuevos requerimientos y bugs.
  3. Crear "Pull Requests" con cambios que se pueden colaborar.
  4. Hacer comentarios en "issues" y en documentos del repositorio a colaborar.
  5. Se pueden crear organizaciones donde se tienen diferentes roles y todos en la organización tienen acceso a enviar cambios a los repositorios.

Cómo usar GitHub y GitHub Pages para publicar contenido

Para tú cuenta ú organización: username.github.io

Para tú repositorio: username.github.io/repositorio

Para tú cuenta

  1. Crear repositorio 'username.github.io' donde username es el nombre de tu cuenta
  2. Clonar localmente
  3. Crear index. $ echo "Hola Mundo!" > index.html
  4. Enviar cambios a github.
    git add --all
    git commit -m "Commit inicial"
    git push
  5. Ir a http://username.github.io

Para tú proyecto

  1. Crear un repositorio para el proyecto.
  2. Ir a settings/seccion github pages en https://github.com y clickear en 'Automatic Page Generator'
  3. Agregar contenido
  4. Elegir un theme y cliquear en el botón 'Publish'
  5. Pronto en username.github.io/repositorio

Tutoriales y Referencias en línea

  1. Libro Pro GIT.
  2. Ayuda de GitHub(en ingles).
  3. GitHub para iniciados(en ingles).
  4. GitHub para portfolios(en ingles).
  5. Generador de páginas webs y blogs con Jekyll
  6. Herramienta para escribir libros y articulos con GIT. Git-Scribe
  7. Aprende GIT en 15 minutos http://try.github.io (en ingles).
  8. Esta presentación en GitHub

¡Gracias!

Por @gaba