GIT

Sitio oficial

¿Qué es GIT?

Software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente

$ git --version
git version 2.26.0

Glosario básico

  • Repositorio: carpeta, archivos del proyecto
  • Revisión: versión
  • Commit: conjunto de cambios, acción por la que se persisten los cambios realizados
  • Local
  • Stagging: área de carga para commitear o ignorar

Comandos básicos

Documentación

$ git init #inicializa un proyecto
$ git status #status de la copia local, tracked / untracked
$ git add archivo
$ git add . #todos los archivos de esa ubicación
$ git commit -m "comentario" #-m = título del mensaje
$ git log

Diferencias y cambios

$ git diff #cambios
$ git checkout --archivo #deshacer cambios
$ git checkout .

Diferencias y cambios

$ git log -- <archivo>
$ git log
commit 4c49bd6e3395eec5b5f70e455770b197a4103834 (HEAD -> master, origin/master, origin/HEAD)
Author: diegobollini <[email protected]>
Date:   Sat Apr 11 18:57:25 2020 -0300

    nuevas notas secciones finales

commit de6096895cea1bc5f6ddfc0968b355b5842d7bb0
Author: Diego Bollini <[email protected]>
Date:   Wed Mar 25 00:09:01 2020 -0300

    revisión estilo md
$ git log --oneline -- <archivo>
$ git log --oneline #versión resumida, sólo títulos de commits
4c49bd6 (HEAD -> master, origin/master, origin/HEAD) nuevas notas secciones finales
de60968 revisión estilo md
59af6bf update de notas
602db73 rebase, head y referencias relativas
064141e Agrego carpeta de Lecturas y nota de Por un Scrum popular
$ git log -p
commit 4c49bd6e3395eec5b5f70e455770b197a4103834 (HEAD -> master, origin/master, origin/HEAD)
Author: diegobollini <[email protected]>
Date:   Sat Apr 11 18:57:25 2020 -0300

    nuevas notas secciones finales

diff --git a/Lecturas/Por un Scrum Popular.md b/Lecturas/Por un Scrum Popular.md
index 6bbf9e7..88b5f4c 100644
--- a/Lecturas/Por un Scrum Popular.md
+++ b/Lecturas/Por un Scrum Popular.md
@@ -35,7 +35,56 @@

 ### Artesanos del software

-## Apéndice 1: Scrum
+
+### Amebas organizacionales
$ git checkout 4c49bd6e3395eec5b5f70e455770b197a4103834
#el repo local debe estar "limpio" para volver a este estado
$ git checkout master #última revisión, para no hacer commit y pisar todo luego de un checkout

Branches

$ git branch testdiseño
$ git checkout testdiseño #HEAD
$ git checkout master #master = rama por defecto, origin = nombre del repo por defecto
$ git merge testdiseño
$ git branch -d testdiseño

Repositorios y referencias remotas

$ git clone https://github.com/diegobollini/cosas_que_aprendo.git
$ git pull #bajar cambios
$ git push #subir cambios
$ git remote add origin https://github.com/diegobollini/cosas_que_aprendo.git
$ git merge user/master
$ git pull #para sumar los commits de user a mi repositorio master

Buenas Prácticas

  • commits periódicos y reducidos (reduce errores, más fácil mantener actualizado, etc.)
  • buenas descripciones (primer línea como título, renglón, párrafo)
  • commits atómicos (no incluir distintas funcionalidades)
  • no hacer commits de cambios en progreso