Git

Git. El sistema de control de versiones libre y de código abierto.

Git es un VCS (Version Control System) diseñado por Linus Torvalds en el año 2005 para almacenar el núcleo de Linux. Git es un software sencillo, distribuido, multiplataforma y capaz de almacenar grandes proyectos.

Git se compone de 3 estados:

  • working directory
  • staging area
  • git directory(repository)


INSTALAR GIT

Linux (apt)

  1. sudo apt-get install git

Linux (yum):

  1. sudo yum install git

Windows y Mac

Descargar instalador desde la página oficial de Git.

CONFIGURACIÓN

  1. git config --global user.name [nombre]
  2. git config --global user.email [correo]
  3. git config --global color.ui true

CONFIGURAR EDITOR

Sublime 

  1. git config --global core.editor "subl -n -w"

Gedit

  1. git config --global core.editor gedit

Vim

  1. git config --global core.editor vim

Los archivos creados en el repositorio se mantienen en el primer estado (working directory). Una vez creados es posible añadirlos con el comando add pasando al segundo estado (staging area) con la opción de devolverlo al primer estado mediante la opción cached. Finalmente con el comando commit se incluyen los archivos al repositorio en el tercer y último paso (git directory).

A continuación se muestran las opciones más utilizadas en Git

CREAR REPOSITORIO

  1. git init [repositorio]

CREAR REPOSITORIO

  1. mkdir [repositorio]
  2. cd [repositorio]
  3. git init

ELIMINAR REPOSITORIO

  1. rm -rf .git

ELIMINAR REPOSITORIO

  1. rm -rf [repositorio]

CREAR ARCHIVO

  1. touch [archivo]

COMPROBAR ESTADO DE REPOSITORIO

  1. git status

COMPROBAR ARCHIVO

  1. git add -n [archivo]

AÑADIR ARCHIVO AL STAGING AREA

  1. git add [archivo]

DESHACER LA ACCIÓN ADD

  1. git reset

AÑADIR TODOS LOS ARCHIVOS AL STAGING AREA

  1. git add -A

DESHACER AÑADIDO DE ARCHIVO EN STAGING AREA

  1. git rm --cached [archivo]

ELIMINAR ARCHIVO

  1. git rm [archivo]

 ELIMINAR ARCHIVO FORZADO

  1. git rm -f [archivo]

AÑADIR ARCHIVOS A REPOSITORIO

  1. git commit -m "[texto]"

AÑADIR ARCHIVOS A UN COMMIT ANTERIOR

  1. git commit --amend
  2. git commit --amend "[nuevoTextoacommitanterior]"

Ejemplo de un commit de:

Se crea el directorio y se accede a él.

  1. mkdir proyecto1
  2. cd proyecto1

Se crean los archivos

  1. touch index.html
  2. touch index.css

Se añaden al estado de preparación

  1. git add -A

Se añaden al repositorio 

  1. git commit -m "primer commit"

Se añade una imagen al index.html

  1. git add index.html
  2. git add help.png
  3. git commit -m "segundo commit con imagen"

ETIQUETAS LIGERAS

  1. git tag "[númeroversión]"
  1. git tag 0.5

ETIQUETAS ANOTADAS

  1. git tag -a [numeroversión] -m "texto"
  1. git tag -a 0.5 -m "versión estable"
  1. git tag -a [numeroversión] -m [SHA]
  1. git tag -a 0.5 -m git 623d56c27e080bef75e3760bf0b869969f4b2bad

COMPROBAR VERSIÓN DE PROYECTO (HISTORIA)

  1. git log
  1. git tag -l
  1. git log --oneline
  1. git --oneline --graph
  1. git log -2

COMPROBAR DIFERENCIAS ENTRE VERSIONES

  1. git diff [SHA]
  1. git diff [SHA1] [SHA2]

RESETEAR

  1. git reset --soft [SHA]
  1. git reset --mixed [SHA]
  1. git reset --hard 623d56c27e080bef75e3760bf0b869969f4b2bad

Soft: Devuelve al commit indicado mediante el parámetro SHA pero mantiene los archivos en staging area.

Mixed: Devuelve al commit indicado mediante SHA y los archivos los devuelve a working directory.

Hard: Devuelve al commit indicado mediante SHA  y no mantiene los archivos en ningún estado. En caso de error si se almacena el código SHA eliminado es posible recuperar los datos volviendo a ejecutar el reset --hard indicado dicho código SHA.

Git recomienda crear otras ramas y no apoyarse únicamente en la rama principal que es creada por defecto (master) mediante el primer commit. Git permite, mediante las ramas, desarrollar distintas secciones del proyecto por separado o solucionar errores, para después, poder mezclar todas esas ramas.

CREAR RAMA

  1. git branch [nombre_de_rama]

ELIMINAR RAMA

  1. git branch -d [nombre_de_rama]

ELIMINAR RAMA FORZADA

  1. git branch -D [nombre_de_rama]

RENOMBRAR RAMA

  1. git branch -m [rama_actual] [nueva_rama]

REVISAR LISTA DE RAMAS

  1. git branch -l

CAMBIARSE DE RAMA

  1. git checkout [rama]

CREAR Y MOVERSE A UNA RAMA

  1. git checkout -b [nombre_de_rama]

MEZCLAR RAMAS

  1. git merge [rama_a_mezclar]

REESCRIBIR PROYECTO

  1. git rebase [rama]

STASHING

Git dispone de un estado intermedio entre el staging area y el git directory llamado stashing. Este estado permite a git guardar cambios de forma temporal que pueden ser útiles en caso de que no sea conveniente hacer un commit y sea necesario cambiar de rama y mantener temporalmente los cambios aparcados.

  1. git stash
  1. git stash list
  1. git stash apply stash@{[numerostash]}

CHERRY PICK

Cherry pick permite extraer un commit y establecerlo en otro lugar.

  1. git checkout [rama_destino]
  1. git cherry-pick [sha_commit]


Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso