Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Control de versiones con Git - Parte I

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Control de versiones con Git - Parte I

Avatar for Lino Espinoza

Lino Espinoza

February 11, 2013

Other Decks in Programming

Transcript

  1. Características generales Cuenta con un mecanismo de almacenamiento de los

    elementos a gestionar. Posibilidad de realizar cambios sobre los elementos almacenados. Registro histórico de las acciones realizadas con cada elemento.
  2. git config $ g i t c o n f

    i g - - g l o b a l u s e r . n a m e " L i n o E s p i n o z a " $ g i t c o n f i g - - g l o b a l u s e r . e m a i l " l e s p i n o z a @ m e d i a l a b l a . c o m " # M u e s t r a t o d a s l a s o p c i o n e s $ g i t c o n f i g - l
  3. git init Inicializa un repositorio vacío. $ g i t

    i n i t p r o y e c t o I n i t i a l i z e d e m p t y G i t r e p o s i t o r y i n / U s e r s / m e d i a l a b / S i t e s / d e v e l o p m e n t / p r o y e c t o / . g i t /
  4. git clone Clona un repositorio existente $ g i t

    c l o n e s s h : / / g i t @ c o d e . m e d i a l a b l a . n e t : 8 0 9 7 / w e b s i t e / t e s t i n g - r e p o . g i t C l o n i n g i n t o ' t e s t i n g - r e p o ' . . . r e m o t e : C o u n t i n g o b j e c t s : 3 , d o n e . r e m o t e : T o t a l 3 ( d e l t a 0 ) , r e u s e d 0 ( d e l t a 0 ) R e c e i v i n g o b j e c t s : 1 0 0 % ( 3 / 3 ) , d o n e .
  5. Flujo de datos Añadir un archivo al repositorio Git (a

    partir de este momento git podrá darle seguimiento) Borrar un archivo al repositorio Git (Git ya no podrá seguir la pista) Moven un archivo del repositorio Git (Git ya le hacía seguimiento y continuará haciendolo) $ g i t a d d R E A D M E $ g i t r m R E A D M E $ g i t m v R E A D M E R E A D M E 2
  6. git add Añadimos los cambios al área de staging $

    g i t a d d r e a d m e . t x t # O n b r a n c h m a s t e r # # I n i t i a l c o m m i t # # C h a n g e s t o b e c o m m i t t e d : # ( u s e " g i t r m - - c a c h e d . . . " t o u n s t a g e ) # # n e w f i l e : r e a d m e . t x t #
  7. git commit $ g i t c o m m

    i t - m " C o m m i t i n i c i a l " [ m a s t e r ( r o o t - c o m m i t ) e 6 4 1 5 a d ] C o m m i t i n i c i a l 0 f i l e s c h a n g e d c r e a t e m o d e 1 0 0 6 4 4 r e a d m e . t x t
  8. Gitignore Es un archivo usado para que Git pase por

    alto archivos, directorios según una sintaxis concreta. Se hacen uso de expresiones regulares. Ejemplos de El archivo .gitignore se puede colocar en cualquier directorio (normalmente se coloca en la raiz del repositorio) gitignore
  9. git status Nos muestra la información sobre el estado de

    nuestro repositorio. $ g i t s t a t u s # O n b r a n c h m a s t e r # # I n i t i a l c o m m i t n o t h i n g t o c o m m i t ( c r e a t e / c o p y f i l e s a n d u s e " g i t a d d " t o t r a c k )
  10. git log Nos brinda información formateada de los commits $

    g i t l o g c o m m i t e 6 4 1 5 a d 7 3 b 0 1 8 8 f f 5 c a 9 6 0 6 9 c b b a d 7 f d 5 6 3 b 9 0 6 9 A u t h o r : L i n o E s p i n o z a D a t e : M o n F e b 4 1 2 : 1 3 : 5 9 2 0 1 3 - 0 5 0 0 C o m m i t i n i c i a l
  11. git diff $ g i t d i f f

    - m " C o m m i t i n i c i a l " [ m a s t e r ( r o o t - c o m m i t ) e 6 4 1 5 a d ] C o m m i t i n i c i a l 0 f i l e s c h a n g e d c r e a t e m o d e 1 0 0 6 4 4 r e a d m e . t x t
  12. git branch # L i s t a n d

    o l a s r a m i f i c a c i o n e s e x i s t e n t e s $ g i t b r a n c h * m a s t e r # C r e a n d o u n a r a m i f i c a c i ó n " d e v e l o p " $ g i t b r a n c h d e v e l o p
  13. git checkout # C a m b i a n

    d o a l a r a m i f i c a c i ó n d e v e l o p $ g i t c h e c k o u t d e v e l o p S w i t c h e d t o b r a n c h ' d e v e l o p ' # E s t a m o s a h o r a e n l a r a m a ' d e v e l o p ' $ g i t b r a n c h m a s t e r * d e v e l o p
  14. git checkout # H a c i e n d

    o c a m b i o s e n e l a r c h i v o r e a d m e . t x t $ g i t a d d r e a d m e . t x t # H a c i e n d o u n c o m m i t $ g i t c o m m i t - m " A g r e g a n d o t e x t o d e p r u e b a " [ d e v e l o p 8 9 6 3 1 6 2 ] A g r e g a n d o t e x t o d e p r u e b a 1 f i l e c h a n g e d , 1 i n s e r t i o n ( + )
  15. git merge $ g i t c h e c

    k o u t m a s t e r S w i t c h e d t o b r a n c h ' m a s t e r ' $ g i t m e r g e d e v e l o p U p d a t i n g e 6 4 1 5 a d . . 8 9 6 3 1 6 2 F a s t - f o r w a r d r e a d m e . t x t | 1 + 1 f i l e c h a n g e d , 1 i n s e r t i o n ( + )
  16. git push Cuando queremos propagar nuestros cambios al servidor Git

    remoto hacemos uso de este comando. Lo normal es trabajar localmente haciendo commits y una vez terminado hacer un git push $ g i t p u s h o r i g i n m a s t e r C o u n t i n g o b j e c t s : 5 , d o n e . D e l t a c o m p r e s s i o n u s i n g u p t o 8 t h r e a d s . C o m p r e s s i n g o b j e c t s : 1 0 0 % ( 2 / 2 ) , d o n e . W r i t i n g o b j e c t s : 1 0 0 % ( 3 / 3 ) , 2 9 6 b y t e s , d o n e . T o t a l 3 ( d e l t a 0 ) , r e u s e d 0 ( d e l t a 0 ) T o s s h : / / g i t @ c o d e . m e d i a l a b l a . n e t : 8 0 9 7 / w e b s i t e / t e s t i n g - r e p o . g i t a 1 d a 1 9 1 . . d 2 8 0 7 e 8 m a s t e r - > m a s t e r
  17. git pull Para actualizar nuestro repositorio con las revisiones nuevas

    que hay en el servidor git remote usamos este comando. Al usar git pull juntamos dos comandos (git fetch + git merge) $ g i t p u l l o r i g i n m a s t e r F r o m s s h : / / c o d e . m e d i a l a b l a . n e t : 8 0 9 7 / w e b s i t e / t e s t i n g - r e p o * b r a n c h m a s t e r - > F E T C H _ H E A D A l r e a d y u p - t o - d a t e .