SlideShare una empresa de Scribd logo
1 de 45
Control de
Versiones con
Git
Daniel Salas Denegri
Control de Versiones
¿Qué es eso y por qué me debería importar?
El Problema
tesis.doc 1 Ene: creación del archivo
tesis.doc 12 Abr: modificaciones, eliminar contenido
30 Abr: corrección de algunos errorestesis.doc
tesis.doc 21 Ago: ajustes de formato
El Problema
tesis.doc 1 Ene: creación del archivo
tesis.doc 12 Abr: modificaciones, eliminar contenido
30 Abr: corrección de algunos errorestesis.doc
tesis.doc 21 Ago: ajustes de formato
2 Nov: necesito un texto
eliminado anteriormente
No tengo copias
pasadas
El Problema
logo.png 1 Ene: primer logo entregado
logo.png 12 Abr: primer cambio
30 Abr: segundo
y tercer cambio
logo_nuevo.
png
logo2.png
logo_ultimo.
png
logo.png logo2.png
logo_ultimo.
png
logo.png logo2.png
El Problema
logo.png 1 Ene: primer logo entregado
logo.png 12 Abr: primer cambio
30 Abr: segundo
y tercer cambio
logo_nuevo.
png
1 año después: Necesito
modificar el logo
logo2.png
?¿Cuál es la
última versión
logo_ultimo.
png
logo.png logo2.png
logo_ultimo.
png
logo.png logo2.png
Solución
tesis.doc
(v1)
1 Ene: creación del archivo
tesis.doc
(v2)
12 Abr: modificaciones, eliminar contenido
30 Abr: corrección de algunos errorestesis.doc
(v3)
tesis.doc
(v4)
21 Ago: ajustes de formato
Sistemas de Control de
Versiones (VCS)
 Es un sistema que registra los cambios
sobre un conjunto de archivos a lo largo
del tiempo, de modo que puedan
recuperarse.
 Estos sistemas utilizan un almacenamiento
especial (Repositorio) para cada archivo
y cada modificación hecha por sus
autores.
Ventajas del VCS
 Revertir archivos a un estado o versión
anterior
 Comparar cambios a lo largo del tiempo
 Ver quién es responsable de las
modificaciones
 Medio alternativo de backup del código
fuente
 Permite el desarrollo colaborativo
Tipos de VCS
 Local
Computadora
Repositorio
Archivo A
Tipos de VCS
 Centralizado
Computadora 1
Archivo A
Computadora 2
Archivo A
Servidor
Repositorio
Tipos de VCS
 Distribuido
Computadora 1
Archivo A
Computadora 2
Archivo A
Servidor
Repositorio
Repositorio
Repositorio
VCS más utilizados
Acerca de Git
 Sistema de control de versiones distribuido
 Gratuito, Open Source, multiplataforma
 Desarrollado por Linus Torvalds (el mismo que
creó Linux)
 Destaca por su rapidez y eficacia
 Soporta grandes proyectos (Ej. el Kernel de
Linux)
 Dispone de muchas herramientas y servicios
en la nube
¿Cómo funciona Git?
Versión 1 Versión 2 Versión 3 Versión 4 Versión 5
A
B
C
A1
C1 C2
A2
B1 B2
C3
En otros VCS cada versión es una copia de todo el proyecto
B
A1
B
C2
A2
B
A1
B
C2
A2
¿Cómo funciona Git?
Versión 1 Versión 2 Versión 3 Versión 4 Versión 5
A
B
C
A1
C1 C2
A2
B1 B2
C3
En otros VCS cada versión es una copia de todo el proyecto
En Git las versiones se vinculan a modificaciones de los archivos
¿Cómo funciona Git?
 Una vez instalado Git utiliza una serie de
comandos para realizar sus operaciones. También
existen herramientas gráficas que facilitan su uso.
 Podemos crear o copiar un repositorio en
cualquier directorio o carpeta. El directorio
seleccionado se le conoce como directorio de
trabajo (Working Directory)
 Cada archivo creado en el directorio de trabajo
puede ser luego incluido en el repositorio.
 El repositorio se encuentra en una carpeta oculta
llamada .git dentro del directorio de trabajo..
pero cuidado con manipular los archivos de ese directorio!!
Arquitectura de Git
HEAD
commit 1
commit 2
commit 3
tree A
tree B
tree C
blob A2
blob B2
blob A1
blob B1
fileA.txt
fileA.txt
fileB.txt
fileA.txt
fileB.txt
Arquitectura de Git
 El contenido de cada archivo se almacena
en el repositorio en un objeto llamado Blob.
 Cuando el archivo se modifica, se crea un
nuevo Blob.
 Si dos o más archivos tienen el mismo
contenido (pero diferente nombre) utilizarán
el mismo Blob.
 Similar a las carpetas, el repositorio utiliza los
objetos llamados Trees o ramas.
 Cada Tree lleva una lista de Blobs u otros
Trees, incluyendo los nombres de archivo.
Arquitectura de Git
 Cada vez que hay cambios en los archivos y
son guardados en el repositorio, se crea un
objeto llamado Commit.
 Un Commit representa un instante del
conjunto de cambios ocurridos en el tiempo.
 Un Commit hace referencia a un Tree que
lleva al conjunto sub objetos Tree o Blob.
 El commit que coincide con los archivos de
trabajo actuales lleva un marcador llamado
HEAD.
Creando Repositorios
 git init
 Se crea un directorio .git
sin objetos
 git clone
 Se copia el repositorio de
origen
 Se crea un directorio .git
con los objetos copiados
Estados de los archivos
Working Directory
Staging
Area
Repository
A
Untracked Unmodified Modified Staged
Estados de los archivos
Working Directory
Staging
Area
Repository
A
Untracked Unmodified Modified Staged
add
Estados de los archivos
Working Directory
Staging
Area
Repository
A
Untracked Unmodified Modified Staged
A
Estados de los archivos
Working Directory
Staging
Area
Repository
A
Untracked Unmodified Modified Staged
A
commit
Estados de los archivos
Working Directory
Staging
Area
Repository
Untracked Unmodified Modified Staged
A A1
Estados de los archivos
Working Directory
Staging
Area
Repository
Untracked Unmodified Modified Staged
A A1
Estados de los archivos
Working Directory
Staging
Area
Repository
Untracked Unmodified Modified Staged
A A1
add
Estados de los archivos
Working Directory
Staging
Area
Repository
Untracked Unmodified Modified Staged
A A A1
Estados de los archivos
Working Directory
Staging
Area
Repository
Untracked Unmodified Modified Staged
A A A1
commit
Estados de los archivos
Working Directory
Staging
Area
Repository
Untracked Unmodified Modified Staged
A A1
A2
Repositorios Remotos
Local
archivo
Remoto
RepositorioRepositorio push
pull
commit
Branching (ramificaciones)
master branches
commits
o A medida que se van agregando commits al repositorio, se
genera una ramificación o cadena, la cual podemos
identificar mediante un branch.
o Un branch es un puntero o marcador que se va moviendo en
cada commit para marcarlo como el más reciente.
o La ramificación principal por lo general se le asigna como
nombre de branch master.
Branching (ramificaciones)
branches
commits
master
o A medida que se van agregando commits al repositorio, se
genera una ramificación o cadena, la cual podemos
identificar mediante un branch.
o Un branch es un puntero o marcador que se va moviendo en
cada commit para marcarlo como el más reciente.
o La ramificación principal por lo general se le asigna como
nombre de branch master.
Branching (ramificaciones)
branches
commits
master
o A medida que se van agregando commits al repositorio, se
genera una ramificación o cadena, la cual podemos
identificar mediante un branch.
o Un branch es un puntero o marcador que se va moviendo en
cada commit para marcarlo como el más reciente.
o La ramificación principal por lo general se le asigna como
nombre de branch master.
Branching (ramificaciones)
branches
commits
master
Es posible que durante el trabajo que realicemos necesitemos
crear una ramificación alterna (por ejemplo para correcciones o
pruebas que pueden o no ser luego utilizadas)
Branching (ramificaciones)
bugfix
branches
commits
master
Git nos permite crear nuevos branch para no interferir con la
ramificación principal. De esta manera podemos realizar
modificaciones en ambas sin que uno interfiera con otro
Branching (ramificaciones)
bugfix
branches
commits
master
Git nos permite crear nuevos branch para no interferir con la
ramificación principal. De esta manera podemos realizar
modificaciones en ambas sin que uno interfiera con otro
Branching (ramificaciones)
bugfix
branches
commits
master
merge
Finalmente si ambas partes ya pueden complementarse
podemos combinarlas. Esa operación también se conoce como
merge.
Acerca de GitHub
 Servicio gratuito de
almacenamiento de código
fuente en la nube
 Fomenta la colaboración de
proyectos abiertos
 Dispone planes para proyectos
privados
 Dispone de herramientas como
seguimiento de errores, wiki, etc.
 Utilizado por varios proyectos en
la Web
Documentación
 Sitio Oficial de Git
git-scm.com
git-scm.com/documentation
 Pro Git – Scott Chacon, Apress
git-scm.com/book
 Una guía de Git para usuarios de Windows
nathanj.github.io/gitguide/tour.html
 Un Modelo ideal de Branching
nvie.com/posts/a-successful-git-branching-model
Software
 Git para Windows (msysgit)
code.google.com/p/msysgit
 Tortoise Git
code.google.com/p/tortoisegit
 GitHub para Windows
windows.github.com
 SmartGit
www.syntevo.com/smartgit
Servicios en la Nube
 GitHub
github.com
 Bitbucket
bitbucket.org
 Google Code
code.google.com
 CodePlex
www.codeplex.com

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Intro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucketIntro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucket
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
 
Git basics
Git basicsGit basics
Git basics
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
Git
GitGit
Git
 
Control de versiones con GIT
Control de versiones con GITControl de versiones con GIT
Control de versiones con GIT
 
Git slides
Git slidesGit slides
Git slides
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errar
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git
GitGit
Git
 
Version Control
Version ControlVersion Control
Version Control
 
Github basics
Github basicsGithub basics
Github basics
 
A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to git
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1
 

Similar a Control de versiones con Git

GIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfGIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfMartinBonuccelli
 
Manual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdfManual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdfCarlosJurado61
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GITmaxfontana90
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantesnscoder_mad
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? emateucr
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasJosé Moreno
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GITKeopx
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part IIMax Rodriguez
 
GITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionadosGITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionadosyuri460292
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a gitKeopx
 
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoPresentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoAntonio Luque Bravo
 

Similar a Control de versiones con Git (20)

GIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfGIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdf
 
Git - Gitlab
Git - GitlabGit - Gitlab
Git - Gitlab
 
Intro a GIT
Intro a GITIntro a GIT
Intro a GIT
 
Manual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdfManual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdf
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
Dependency Managers
Dependency ManagersDependency Managers
Dependency Managers
 
Dependency Managers iOS
Dependency Managers iOSDependency Managers iOS
Dependency Managers iOS
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GIT
 
Git res baz ec - final
Git   res baz ec - finalGit   res baz ec - final
Git res baz ec - final
 
Git: control de versiones
Git: control de versionesGit: control de versiones
Git: control de versiones
 
Tallerintroducciongit
TallerintroducciongitTallerintroducciongit
Tallerintroducciongit
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
 
GITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionadosGITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionados
 
Flujos de trabajo y mejores prácticas en git
Flujos de trabajo y mejores prácticas en gitFlujos de trabajo y mejores prácticas en git
Flujos de trabajo y mejores prácticas en git
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoPresentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
 

Control de versiones con Git

  • 2. Control de Versiones ¿Qué es eso y por qué me debería importar?
  • 3. El Problema tesis.doc 1 Ene: creación del archivo tesis.doc 12 Abr: modificaciones, eliminar contenido 30 Abr: corrección de algunos errorestesis.doc tesis.doc 21 Ago: ajustes de formato
  • 4. El Problema tesis.doc 1 Ene: creación del archivo tesis.doc 12 Abr: modificaciones, eliminar contenido 30 Abr: corrección de algunos errorestesis.doc tesis.doc 21 Ago: ajustes de formato 2 Nov: necesito un texto eliminado anteriormente No tengo copias pasadas
  • 5. El Problema logo.png 1 Ene: primer logo entregado logo.png 12 Abr: primer cambio 30 Abr: segundo y tercer cambio logo_nuevo. png logo2.png logo_ultimo. png logo.png logo2.png logo_ultimo. png logo.png logo2.png
  • 6. El Problema logo.png 1 Ene: primer logo entregado logo.png 12 Abr: primer cambio 30 Abr: segundo y tercer cambio logo_nuevo. png 1 año después: Necesito modificar el logo logo2.png ?¿Cuál es la última versión logo_ultimo. png logo.png logo2.png logo_ultimo. png logo.png logo2.png
  • 7. Solución tesis.doc (v1) 1 Ene: creación del archivo tesis.doc (v2) 12 Abr: modificaciones, eliminar contenido 30 Abr: corrección de algunos errorestesis.doc (v3) tesis.doc (v4) 21 Ago: ajustes de formato
  • 8. Sistemas de Control de Versiones (VCS)  Es un sistema que registra los cambios sobre un conjunto de archivos a lo largo del tiempo, de modo que puedan recuperarse.  Estos sistemas utilizan un almacenamiento especial (Repositorio) para cada archivo y cada modificación hecha por sus autores.
  • 9. Ventajas del VCS  Revertir archivos a un estado o versión anterior  Comparar cambios a lo largo del tiempo  Ver quién es responsable de las modificaciones  Medio alternativo de backup del código fuente  Permite el desarrollo colaborativo
  • 10. Tipos de VCS  Local Computadora Repositorio Archivo A
  • 11. Tipos de VCS  Centralizado Computadora 1 Archivo A Computadora 2 Archivo A Servidor Repositorio
  • 12. Tipos de VCS  Distribuido Computadora 1 Archivo A Computadora 2 Archivo A Servidor Repositorio Repositorio Repositorio
  • 14.
  • 15. Acerca de Git  Sistema de control de versiones distribuido  Gratuito, Open Source, multiplataforma  Desarrollado por Linus Torvalds (el mismo que creó Linux)  Destaca por su rapidez y eficacia  Soporta grandes proyectos (Ej. el Kernel de Linux)  Dispone de muchas herramientas y servicios en la nube
  • 16. ¿Cómo funciona Git? Versión 1 Versión 2 Versión 3 Versión 4 Versión 5 A B C A1 C1 C2 A2 B1 B2 C3 En otros VCS cada versión es una copia de todo el proyecto B A1 B C2 A2
  • 17. B A1 B C2 A2 ¿Cómo funciona Git? Versión 1 Versión 2 Versión 3 Versión 4 Versión 5 A B C A1 C1 C2 A2 B1 B2 C3 En otros VCS cada versión es una copia de todo el proyecto En Git las versiones se vinculan a modificaciones de los archivos
  • 18. ¿Cómo funciona Git?  Una vez instalado Git utiliza una serie de comandos para realizar sus operaciones. También existen herramientas gráficas que facilitan su uso.  Podemos crear o copiar un repositorio en cualquier directorio o carpeta. El directorio seleccionado se le conoce como directorio de trabajo (Working Directory)  Cada archivo creado en el directorio de trabajo puede ser luego incluido en el repositorio.  El repositorio se encuentra en una carpeta oculta llamada .git dentro del directorio de trabajo.. pero cuidado con manipular los archivos de ese directorio!!
  • 19. Arquitectura de Git HEAD commit 1 commit 2 commit 3 tree A tree B tree C blob A2 blob B2 blob A1 blob B1 fileA.txt fileA.txt fileB.txt fileA.txt fileB.txt
  • 20. Arquitectura de Git  El contenido de cada archivo se almacena en el repositorio en un objeto llamado Blob.  Cuando el archivo se modifica, se crea un nuevo Blob.  Si dos o más archivos tienen el mismo contenido (pero diferente nombre) utilizarán el mismo Blob.  Similar a las carpetas, el repositorio utiliza los objetos llamados Trees o ramas.  Cada Tree lleva una lista de Blobs u otros Trees, incluyendo los nombres de archivo.
  • 21. Arquitectura de Git  Cada vez que hay cambios en los archivos y son guardados en el repositorio, se crea un objeto llamado Commit.  Un Commit representa un instante del conjunto de cambios ocurridos en el tiempo.  Un Commit hace referencia a un Tree que lleva al conjunto sub objetos Tree o Blob.  El commit que coincide con los archivos de trabajo actuales lleva un marcador llamado HEAD.
  • 22. Creando Repositorios  git init  Se crea un directorio .git sin objetos  git clone  Se copia el repositorio de origen  Se crea un directorio .git con los objetos copiados
  • 23. Estados de los archivos Working Directory Staging Area Repository A Untracked Unmodified Modified Staged
  • 24. Estados de los archivos Working Directory Staging Area Repository A Untracked Unmodified Modified Staged add
  • 25. Estados de los archivos Working Directory Staging Area Repository A Untracked Unmodified Modified Staged A
  • 26. Estados de los archivos Working Directory Staging Area Repository A Untracked Unmodified Modified Staged A commit
  • 27. Estados de los archivos Working Directory Staging Area Repository Untracked Unmodified Modified Staged A A1
  • 28. Estados de los archivos Working Directory Staging Area Repository Untracked Unmodified Modified Staged A A1
  • 29. Estados de los archivos Working Directory Staging Area Repository Untracked Unmodified Modified Staged A A1 add
  • 30. Estados de los archivos Working Directory Staging Area Repository Untracked Unmodified Modified Staged A A A1
  • 31. Estados de los archivos Working Directory Staging Area Repository Untracked Unmodified Modified Staged A A A1 commit
  • 32. Estados de los archivos Working Directory Staging Area Repository Untracked Unmodified Modified Staged A A1 A2
  • 34. Branching (ramificaciones) master branches commits o A medida que se van agregando commits al repositorio, se genera una ramificación o cadena, la cual podemos identificar mediante un branch. o Un branch es un puntero o marcador que se va moviendo en cada commit para marcarlo como el más reciente. o La ramificación principal por lo general se le asigna como nombre de branch master.
  • 35. Branching (ramificaciones) branches commits master o A medida que se van agregando commits al repositorio, se genera una ramificación o cadena, la cual podemos identificar mediante un branch. o Un branch es un puntero o marcador que se va moviendo en cada commit para marcarlo como el más reciente. o La ramificación principal por lo general se le asigna como nombre de branch master.
  • 36. Branching (ramificaciones) branches commits master o A medida que se van agregando commits al repositorio, se genera una ramificación o cadena, la cual podemos identificar mediante un branch. o Un branch es un puntero o marcador que se va moviendo en cada commit para marcarlo como el más reciente. o La ramificación principal por lo general se le asigna como nombre de branch master.
  • 37. Branching (ramificaciones) branches commits master Es posible que durante el trabajo que realicemos necesitemos crear una ramificación alterna (por ejemplo para correcciones o pruebas que pueden o no ser luego utilizadas)
  • 38. Branching (ramificaciones) bugfix branches commits master Git nos permite crear nuevos branch para no interferir con la ramificación principal. De esta manera podemos realizar modificaciones en ambas sin que uno interfiera con otro
  • 39. Branching (ramificaciones) bugfix branches commits master Git nos permite crear nuevos branch para no interferir con la ramificación principal. De esta manera podemos realizar modificaciones en ambas sin que uno interfiera con otro
  • 40. Branching (ramificaciones) bugfix branches commits master merge Finalmente si ambas partes ya pueden complementarse podemos combinarlas. Esa operación también se conoce como merge.
  • 41.
  • 42. Acerca de GitHub  Servicio gratuito de almacenamiento de código fuente en la nube  Fomenta la colaboración de proyectos abiertos  Dispone planes para proyectos privados  Dispone de herramientas como seguimiento de errores, wiki, etc.  Utilizado por varios proyectos en la Web
  • 43. Documentación  Sitio Oficial de Git git-scm.com git-scm.com/documentation  Pro Git – Scott Chacon, Apress git-scm.com/book  Una guía de Git para usuarios de Windows nathanj.github.io/gitguide/tour.html  Un Modelo ideal de Branching nvie.com/posts/a-successful-git-branching-model
  • 44. Software  Git para Windows (msysgit) code.google.com/p/msysgit  Tortoise Git code.google.com/p/tortoisegit  GitHub para Windows windows.github.com  SmartGit www.syntevo.com/smartgit
  • 45. Servicios en la Nube  GitHub github.com  Bitbucket bitbucket.org  Google Code code.google.com  CodePlex www.codeplex.com