Creado el 2005 para poder gestionar el código fuente de Linux, reemplazo de BitKeeper. Presentación de Git 2007.
Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente. Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos.
- El año 2008 se crea Github
- El 2 de Junio de 2011, el portal ReadWriteWeb reportó que GitHub había sobrepasado a SourceForce y Google Code en total de commits.
- Es una máquina del tiempo
- Registro de cambios. Git permite generar snapshots de distintos momentos de la historia a los cuales puedo moverme libremente. Cada registro tiene un enlace asociado para recordarlo mejor.
- Diversas versiones de una base de código independientes.
Descarga oficial Getting Started - Installing Git
Generadores de imágenes:
- Git config
$ git config --list --show-origin
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
- Iniciar repositorio
$ git init
$ git add
- Commits
$ git commit -m "Mensaje relevante y explicativo del cambio."
- Revisando la historia
$ git log
$ git log --oneline
$ git log --oneline --decorate
$ git log --graph --oneline --decorate
$ git log --stat
$ git log -p
$ git shortlog
$ git log -3
$ git log --after="2018-5-1"
$ git log --after="yesterday"
$ git log --after="2014-7-1" --before="2014-7-4"
$ git log --author="Beto"
$ git log --grep="Mensaje"
-
Branches
$ git brach rama $ git checkout rama $ git checkout -b otra-rama
-
Revisar diferencias
$ git diff <source_branch> <target_branch>
-
Clonar
$ git clone /path/to/repository
$ git clone username@host:/path/to/repository
-
Repositorios remotos
git remote -v git remote add origin https://github.com/betoscopio/tallergit.git git push -u origin master git remote rm <remote-repo>
-
Push/Pull
git fetch git merge git pull
-
Sobreescribiendo la historia
$ git revert
WARNING
$ git checkout -- <filename> $ git fetch origin $ git reset --hard origin/master
-
Proveedores Git
-
Auditando cambios
$ git blame file $ git blame -L 1,5 README.md $ git blame -M README.md $ git blame -C README.md
- Trabajo en un proyecto colaborativo.
- Generar cambios a una web común.
- Resolución de conflictos
- https://git-scm.com/book/en/v2
- https://www.atlassian.com/git
- https://www.atlassian.com/git/tutorials
- https://hackr.io/tutorial/git-guru-guide-by-atlassian
- https://learngitbranching.js.org/
- http://rogerdudler.github.io/git-guide/
- https://hackr.io/tutorial/git-the-simple-guide
- http://try.github.io/
- https://hackr.io/tutorial/git-the-simple-guide
- https://hackr.io/tutorials/learn-git