Git
Git es un sistema de control de versiones distribuido libre, para manejar proyectos de cualquier magnitud.

Estados y áreas
Git tiene tres principales estados:
modified, hay cambcdios pero aún no están commiteados a la base de datos.staged, archivos modificados marcados para ser incluidos en el próximo commit.commited, datos guardados de forma segura en la base de datos local.
El flujo de trabajo básico en git es algo así:
- Se modifican archivos en el área de trabajo (
working tree). - Se seleccionan los cambios que van a ser parte del próximo commit, agregando esos cambios al área de preparación (
staging area). - Se realiza un commit, lo cual toma los archivos en el área de preparación y los guarda como una "instantanea", de fomra permanente en el directorio git (
git directory).

Comandos
Iniciación
initInicializa un repositorio en el directorio actual.cloneClona un repositorio a un directorio local.
Flujo de trabajo
statusMuestra el estado del repositorio.addAgrega cambios al área de staging.stashGuarda cambios de forma provicional.commitRealiza un commit a la base de datos local.cleanRemueve archivos no traqueados del directorio de trabajo.
Ramas
branchLista, crea o elimina ramas.checkoutCambia de rama o vuelve a un estado anterior.mergeUne dos o más historias en una.rebaseReaplica commits a la cabeza de otra rama.
Remoto
remotefetchpushtest de remotopull
Configuración de usuario
git config --global user.name "nombre del usuario"git config --global user.email "usuariodegit@mail.com"
Acciones útiles
untrack - Remover archivos "trackeados"
git rm -r --cached file
rmcomando para remover.-ropción para hacerlo de forma recursiva.--cachedsólo remueve archivos del index. Los archivos aún seguiran existiendo.-nla opción -n permite realizar un simulacro--dry-run.
En caso de existir cambios en los archivos a remover se solicita utilizar la opción --dry-run para mantener los archivos, o -f para forzar la eliminación.