Git

Controlando versiones

Sergio Delgado Quintero

17 de noviembre de 2014

¿Qué es git?

  • GIT es un sistema de control de versiones distribuido y gratuito
  • Se llama repositorio al contenedor de datos sobre el que vamos a trabajar. (repos)
  • Existen otros sistemas de control de versiones:
    • CVS
    • Subversion
    • Mercurial

¿POR QUÉ GIT?

  • Histórico permanente de cambios (no ficheros).
  • Copias de seguridad.
  • Trabajo en equipo.
  • Social.
  • Crear ramas y/o etiquetas.

COMANDOS BÁSICOS

git init

Inicializar un repositorio (directorio .git)

Establecer credenciales

git config --global user.name "Your Name"
git config --global user.email "your_email@whatever.com"

Añadir ficheros (stage mode)

git add .

Consolidar cambios (commit)

git commit -m "Message for commit"

Ver el estado de la copia de trabajo

git status

SAAS

  • Existen SAAS (Software As A Service) para gestionar repositorios git.
  • Github
    • Muy "de moda".
    • Importantes proyectos alojados (Linux).
    • Repositorios privados de pago.
  • Bitbucket
    • Funcionalidades equivalentes.
    • Repositorios privados gratuitos.

CLAVES SSH

$HOME/.ssh/id_rsa.pub

Copiar clave pública en el SaaS:

Generar claves ssh:

ssh-keygen

Set up ssh for git (bitbucket)

CREANDO EL REPOSITORIO

Create a repository (Bitbucket)

REMOTES

Establecer la dirección del remote

git remote add origin git@bitbucket.org:<user>/<repo>.git
git push -u origin master

Subir los cambios (primera vez)

git push #incluir --tags para las etiquetas

Subir los cambios (resto)

Bajar los cambios

git pull

Clonar repositorio

git clone https://github.com/torvalds/linux.git

COMANDOS AVANZADOS

git checkout v0.1

Recuperar versión determinada

Etiquetando

git tag v0.9

Crear una nueva rama

git checkout -b develop

Mezclar ramas

git checkout master
git merge develop

Deshacer cambios

git checkout -- .

THE END

http://slides.com/sdelquin/git

Git

By Sergio Delgado Quintero