Indice

  1. Git

Git

Git es un sistema distribuido de control de versiones (DVCS). Donde cada computadora tiene acceso a una copia de todo el historial de cambios de un proyecto. Otros sistemas se basan en deltas que representan sólo las diferencias entre una versión y otra. En cambio, git trabaja con snapshots. En términos simples, git le saca una foto a los archivos en el momento de una versión y guarda sus referencias solo en el caso que haya cambios en el archivo especifico respecto de su foto anterior.

Snapshot-based

snap-based-system

Delta-based

delta-based-system

Los 3 estados

  • modified
  • stagged
  • commited

basic-workflow

Initial config

Identidad

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

Editor

Puede ser por ejemplo en macOS se usa por defecto "vim" como editor para git, pero tambien se puede elegir "nano"

$ git config --global core.editor nano

Default branch name

Puedes cambiar el nombre de la rama master por defecto a tu preferencia a por ejemplo "main" que es lo que se usa actualmente en github.

$ git config --global init.defaultBranch main

Help

$ git help <verb>
$ git <verb> --help
$ man git-<verb>

Basics