Control de versiones con Git
Agenda
● Introducción al control de versiones
● Conceptos
● Git
● Cualquier flujo de trabajo
● Trabajando con Git
● etc
● Referencias
Introducción al
Control de versiones
:(
¿De qué me pierdo?
● Se sobreescriben cambios
● No hay un historial de quién hizo qué
● No hay forma de saber si todos tienen lo
mismo
El problema de compartir
archivos
6
La solución bloqueo-modificación-
desbloqueo
7
La solución copiar-modificar-mezclar
8
La solución copiar-modificar-mezclar
9
Conceptos: entidades
● Repositorio
● Copia de trabajo
● Rama
● Etiqueta
● Commit/revisión
● Conflicto
● Merge
10
Conceptos: Versionamiento
● Local
● Centralizado
● Distribuído
11
Versionamiento Local
● RCS
● SCCS
● lineal
● historia
12
Versionamieto Centralizado
● CVS
● Subversion
● Dependencia
de red
● Poca
flexibilidad
en desarrollo
13
Versionamiento Distribuido
● Git
● Bazaar
● Mercurial
● GNU arch
● Idenpendencia
● Commits locales
● Ramas útiles
14
Git
¿Por qué Git?
● Ramas locales sin coste
● Git is Rápido
● Git es Pequeño
● El área de montaje
● Cualquier flujo de trabajo
● Confiaza en etiquetas
16
Git por
dentro
17
Diferencias con subversion
● Repositorios independientes
● URLs no representa ramas
● Revisiones son hashs
● Autores y commiters
18
Interacción
19
Archivos
20
stash
21
Cualquier flujo de trabajo
Estilo svn
Estilo x.org
Estilo Linux
Trabajando con Git
Identificarte
git config --global user.name "John Doe"
git config --global user.email
[email protected]
27
uso básico, una persona
# comenzando
git init
git add .
git commit
# verificando cambios
git status
git diff
# viendo la historia
git log
git show
gitk
# restituyendo
git checkout
git reset
# acciones
git mv
git rm
# ramas y etiquetas
git branch
git tag
28
Flujo usual
29
uso en equipo: dos personas
# obtener
git clone
# actualizar
git fetch
git pull
# publicar
git push
git://github.com/marvil07/drupal-git-quickstart.git
30
uso avanzado
# reescribir
git rebase
# ultima modificacion
git blame
# econtrar errores
git bisect
31
Distribuir
Distribuir
● Protocolos:
● Local
● Secure Shell (SSH)
● Git
● HTTP
● Servidores
● git-daemon
● sobre http
● gitosis
touch git-daemon-export-ok
git-daemon --verbose --base-path=<path> <path>
cd <path/to/doc/root>
git clone --bare <repo>
git-update-server-info
33
etc
Mis comandos preferidos
git rebase -i
git add -p
git cherry-pick
git mergetool # usando meld
git format-patch
Git como cliente
git svn
git cvsimport
git cvsexport
Referencias
● drupal.org/node/783086
● progit.org
● book.git-scm.com
● whygitisbetterthanx.com
● svnbook.red-bean.com
Comentarios de: control de versiones con Git (0)
No hay comentarios