SlideShare una empresa de Scribd logo
1 de 19
Taller breve de introducción a
              Git
Agenda
●   ¿Qué es Git?
●   Pequeña analogía
●   Comandos básicos
●   Ejemplo práctico
●   Resumen
●   Flujo interno de Git
●   Github / Bitbucket
●   Recomendaciones
¿Qué es Git?
●   Sistema distribuído de control de versiones
●   Software libre y de codigo abierto
●   Cada clon es un repositorio completo
●   Crear branch's y fusionarlos con un merge es
    cosa de 1 minuto
●   Cada commit registrado es una “revisión”
●   Creado por Linus Torvalds
Pequeña analogía
●   Solo si no estas familiarizado con
    versionadores.
●   Guardar cambios en Git, es como cuando
    jugabas partidas en algún juego, para luego
    retomarlas desde ese punto.
●   Pero esto no quiere decir que se use como
    backup de código, Git es mucho mas que eso.
Comandos básicos
●   Clonar un repositorio
    $ git clone git@ip_del_server:nombre_repo.git
●   Agregar un archivo
    $ git add archivo.txt
●   Guardar el archivo
    $ git commit -a -m “comentario”
●   Traer los cambios
    $ git pull origin nombre_rama
Comandos básicos
●   Enviar cambios al servidor
    $ git push origin nombre_rama
●   Cambiar de branch
    $ git checkout nombre_rama
●   Ver en que branch estamos
    $ git branch
●   Hacer merge
    $ git merge nombre_rama
Ejemplo práctico
●   Se requiere de una pc, y seguir paso a paso.
●   Veremos temas como uso de: branch's,
    merge, commit, status, log, etc.
●   Al final hay un resumen de cada punto tocado.
●   Se mostrará como crear un repositorio central
    con git.
Ejemplo práctico
●   Crear carpeta vacía “myproject”, e iniciamos
    $ git init
●   Crear archivo1.txt y archivo2.txt y agregarlos
    $ git add .
●   Guardando la primera revisión
    $ git commit -m “Iniciando proyecto”
●   Crear archivo3.txt y archivo4.txt, ver estado
    $ git status
Ejemplo práctico
●   Agregando los nuevos archivos
    $ git add archivo2.txt archivo3.txt
●   Guardamos una nueva revisión
    $ git commit -m “Segunda revisión”
●   Ver el historial detallado
    $ git log --stat
●   Crear una nueva rama
    $ git checkout -b nueva_rama
Ejemplo práctico
●   Crear carpeta demo y dentro archivo5.txt, y
    agregarlos
    $ git add demo/
●   Guardar cambios
    $ git commit -m “Tercera revisión”
●   Regresar a master
    $ git checkout master
●   Fusionar con nueva_rama
    $ git merge nueva_rama
Ejemplo práctico
●   Salimos de la carpeta y creamos un repo
    $ git clone --bare myproject mirepo.git
●   Clonamos otro proyecto a partir del repo
    $ git clone mirepo.git newproject
●   Entramos en newproject, creamos archivo6.txt
    y lo agregamos
    $ git add archivo6.txt
●   Guardamos los cambios
    $ git commit -m “Agregado archivo6.txt”
Ejemplo práctico
●   Nos aseguramos tener la ultima versión del
    repo
    $ git pull origin master
●   Ahora enviaremos nuestros cambios al repo
    $ git push origin master
●   Salimos de newproject y clonamos otro
    $ git clone mirepo.git miproyecto
●   Nos fijamos el historial
    $ git log
Ejemplo práctico
●   Creamos una nueva rama
    $ git checkout -b nuevos_cambios
●   Creamos archivo7.txt, lo agregamos y
    guardamos
    $ git add archivo7.txt
    $ git commit -m “Agregando archivo7.txt”
●   Regresamos a master y comparamos
    $ git checkout master
    $ git diff master nuevos_cambios
Ejemplo práctico
●   Hacemos merge y envíamos los cambios
    $ git merge nuevos_cambios
    $ git push origin master
●   Eliminamos la rama que ya no nos sirve
    git branch -d nuevos_cambios
●   Nos vamos newproject y traemos los nuevos
    cambios
    $ git pull origin master
Resumen
●   Primero se creó un repositorio git local “myproject” y se guardaron
    revisiones
●   Luego se creó un branch llamado “nueva_rama” y se guardaron
    revisiones.
●   Fusionamos los cambios del branch “nueva_rama” con “master”
●   Creamos un repositorio central llamado “mirepo.git” a partir de “myproject”
●   Clonamos “mirepo.git” con nombre “newproject”
●   Hicimos cambios, guardamos y luego enviamos al repositorio central
    “mirepo.git”
●   Clonamos otra vez de “mirepo.git” llamado “miproyecto” y nos fijamos el
    historial de revisiones.
●   Creamos una nueva rama, hicimos cambios, comparamos y fusionamos,
    finalmente enviamos los cambios al repositorio “mirepo.git”
●   Por último fuimos a “newproject” a actualizar con pull
Flujo interno de Git
Github / Bitbucket
●   Github
    Trabaja con repositorios netamente de tipo git,
    tiene una versión de pago para repositorio
    privados.
●   Bitbucket
    A diferencia del anterior permite trabajar con
    repositorios privados y trabaja con mercurial y
    git.
Recomendaciones
●   Traer siempre la última versión con un pull, y correr
    los test's, para evitar conflictos de archivos e
    inconsistencia en el proyecto.
●   Nunca dejar cambios sin guardar al termino del
    horario de trabajo.
●   Realizar commit's con comentarios significativos, a
    fin de mantener el repositorio limpio y ordenado.
●   Resolver todos los conflictos al hacer un merge
    antes de enviar los cambios con push
●   Darle una repasada al libro Pro Git http://git-
    scm.com/book/es
¿Preguntas?

Más contenido relacionado

La actualidad más candente

Auto scaling and dynamic routing for was liberty collectives
Auto scaling and dynamic routing for was liberty collectivesAuto scaling and dynamic routing for was liberty collectives
Auto scaling and dynamic routing for was liberty collectives
sflynn073
 

La actualidad más candente (20)

Android framework design and development
Android framework design and developmentAndroid framework design and development
Android framework design and development
 
Gitlab flow
Gitlab flowGitlab flow
Gitlab flow
 
Ninja Build: Simple Guide for Beginners
Ninja Build: Simple Guide for BeginnersNinja Build: Simple Guide for Beginners
Ninja Build: Simple Guide for Beginners
 
kubernetes : From beginner to Advanced
kubernetes : From beginner to Advancedkubernetes : From beginner to Advanced
kubernetes : From beginner to Advanced
 
Auto scaling and dynamic routing for was liberty collectives
Auto scaling and dynamic routing for was liberty collectivesAuto scaling and dynamic routing for was liberty collectives
Auto scaling and dynamic routing for was liberty collectives
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Kubernetes introduction
Kubernetes introductionKubernetes introduction
Kubernetes introduction
 
Pengenalan Git
Pengenalan GitPengenalan Git
Pengenalan Git
 
What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Flutter workshop
Flutter workshopFlutter workshop
Flutter workshop
 
Git 101 Presentation
Git 101 PresentationGit 101 Presentation
Git 101 Presentation
 
Getting started with entity framework
Getting started with entity framework Getting started with entity framework
Getting started with entity framework
 
Comparison of SVN and Git
Comparison of SVN and GitComparison of SVN and Git
Comparison of SVN and Git
 
Android internals 07 - Android graphics (rev_1.1)
Android internals 07 - Android graphics (rev_1.1)Android internals 07 - Android graphics (rev_1.1)
Android internals 07 - Android graphics (rev_1.1)
 
Rancher 2.x first step before deep dive
Rancher 2.x  first step before deep diveRancher 2.x  first step before deep dive
Rancher 2.x first step before deep dive
 
React-JS Component Life-cycle Methods
React-JS Component Life-cycle MethodsReact-JS Component Life-cycle Methods
React-JS Component Life-cycle Methods
 
Docker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting Techniques
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1
 
Git and Github
Git and GithubGit and Github
Git and Github
 

Destacado (10)

Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Introduccion a Git
Introduccion a GitIntroduccion a Git
Introduccion a Git
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
 
Git 01-introduccion
Git 01-introduccionGit 01-introduccion
Git 01-introduccion
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Introducción al uso Git y GitHub para trabajo colaborativo
Introducción al uso Git y GitHub para trabajo colaborativoIntroducción al uso Git y GitHub para trabajo colaborativo
Introducción al uso Git y GitHub para trabajo colaborativo
 

Similar a Taller breve de introduccion a Git

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
Antonio Luque Bravo
 

Similar a Taller breve de introduccion a 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
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GIT
 
Curso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCurso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en Github
 
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
 
Intro a GIT
Intro a GITIntro a GIT
Intro a GIT
 
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
 
Git - Gitlab
Git - GitlabGit - Gitlab
Git - Gitlab
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
 
Taller Git en la URJC
Taller Git en la URJC Taller Git en la URJC
Taller Git en la URJC
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de git
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de git
 
Git windows
Git windowsGit windows
Git windows
 
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxGuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Tallerintroducciongit
TallerintroducciongitTallerintroducciongit
Tallerintroducciongit
 
Git: control de versiones
Git: control de versionesGit: control de versiones
Git: control de versiones
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque práctico
 
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDADTodo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
 
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
 

Más de Mario IC

Más de Mario IC (20)

Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
 
Aws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMSAws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMS
 
Aws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMSAws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMS
 
Testing Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfraTesting Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfra
 
Automatización de tareas con Ansible
Automatización de tareas con AnsibleAutomatización de tareas con Ansible
Automatización de tareas con Ansible
 
Earthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroidesEarthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroides
 
Infraestructura como Codigo para Developers
Infraestructura como Codigo para DevelopersInfraestructura como Codigo para Developers
Infraestructura como Codigo para Developers
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform framework
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con Helm
 
Cloud native Computing Perú Octubre
Cloud native Computing Perú OctubreCloud native Computing Perú Octubre
Cloud native Computing Perú Octubre
 
Agiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeAgiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As Code
 
Workshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - SuestraWorkshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - Suestra
 
Docker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmDocker Compose to Production with Docker Swarm
Docker Compose to Production with Docker Swarm
 
GDG Lima - Docker Compose
GDG Lima - Docker ComposeGDG Lima - Docker Compose
GDG Lima - Docker Compose
 
Docker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junioDocker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junio
 
Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup Mayo
 
Testing en BDD con Python y Behave
Testing en BDD con Python y BehaveTesting en BDD con Python y Behave
Testing en BDD con Python y Behave
 
Infrastructure as Code with Terraform
Infrastructure as Code with TerraformInfrastructure as Code with Terraform
Infrastructure as Code with Terraform
 
Docker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbdayDocker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbday
 
Modelado de API con RAML
Modelado de API con RAMLModelado de API con RAML
Modelado de API con RAML
 

Último

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (10)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Taller breve de introduccion a Git

  • 1. Taller breve de introducción a Git
  • 2. Agenda ● ¿Qué es Git? ● Pequeña analogía ● Comandos básicos ● Ejemplo práctico ● Resumen ● Flujo interno de Git ● Github / Bitbucket ● Recomendaciones
  • 3. ¿Qué es Git? ● Sistema distribuído de control de versiones ● Software libre y de codigo abierto ● Cada clon es un repositorio completo ● Crear branch's y fusionarlos con un merge es cosa de 1 minuto ● Cada commit registrado es una “revisión” ● Creado por Linus Torvalds
  • 4. Pequeña analogía ● Solo si no estas familiarizado con versionadores. ● Guardar cambios en Git, es como cuando jugabas partidas en algún juego, para luego retomarlas desde ese punto. ● Pero esto no quiere decir que se use como backup de código, Git es mucho mas que eso.
  • 5. Comandos básicos ● Clonar un repositorio $ git clone git@ip_del_server:nombre_repo.git ● Agregar un archivo $ git add archivo.txt ● Guardar el archivo $ git commit -a -m “comentario” ● Traer los cambios $ git pull origin nombre_rama
  • 6. Comandos básicos ● Enviar cambios al servidor $ git push origin nombre_rama ● Cambiar de branch $ git checkout nombre_rama ● Ver en que branch estamos $ git branch ● Hacer merge $ git merge nombre_rama
  • 7. Ejemplo práctico ● Se requiere de una pc, y seguir paso a paso. ● Veremos temas como uso de: branch's, merge, commit, status, log, etc. ● Al final hay un resumen de cada punto tocado. ● Se mostrará como crear un repositorio central con git.
  • 8. Ejemplo práctico ● Crear carpeta vacía “myproject”, e iniciamos $ git init ● Crear archivo1.txt y archivo2.txt y agregarlos $ git add . ● Guardando la primera revisión $ git commit -m “Iniciando proyecto” ● Crear archivo3.txt y archivo4.txt, ver estado $ git status
  • 9. Ejemplo práctico ● Agregando los nuevos archivos $ git add archivo2.txt archivo3.txt ● Guardamos una nueva revisión $ git commit -m “Segunda revisión” ● Ver el historial detallado $ git log --stat ● Crear una nueva rama $ git checkout -b nueva_rama
  • 10. Ejemplo práctico ● Crear carpeta demo y dentro archivo5.txt, y agregarlos $ git add demo/ ● Guardar cambios $ git commit -m “Tercera revisión” ● Regresar a master $ git checkout master ● Fusionar con nueva_rama $ git merge nueva_rama
  • 11. Ejemplo práctico ● Salimos de la carpeta y creamos un repo $ git clone --bare myproject mirepo.git ● Clonamos otro proyecto a partir del repo $ git clone mirepo.git newproject ● Entramos en newproject, creamos archivo6.txt y lo agregamos $ git add archivo6.txt ● Guardamos los cambios $ git commit -m “Agregado archivo6.txt”
  • 12. Ejemplo práctico ● Nos aseguramos tener la ultima versión del repo $ git pull origin master ● Ahora enviaremos nuestros cambios al repo $ git push origin master ● Salimos de newproject y clonamos otro $ git clone mirepo.git miproyecto ● Nos fijamos el historial $ git log
  • 13. Ejemplo práctico ● Creamos una nueva rama $ git checkout -b nuevos_cambios ● Creamos archivo7.txt, lo agregamos y guardamos $ git add archivo7.txt $ git commit -m “Agregando archivo7.txt” ● Regresamos a master y comparamos $ git checkout master $ git diff master nuevos_cambios
  • 14. Ejemplo práctico ● Hacemos merge y envíamos los cambios $ git merge nuevos_cambios $ git push origin master ● Eliminamos la rama que ya no nos sirve git branch -d nuevos_cambios ● Nos vamos newproject y traemos los nuevos cambios $ git pull origin master
  • 15. Resumen ● Primero se creó un repositorio git local “myproject” y se guardaron revisiones ● Luego se creó un branch llamado “nueva_rama” y se guardaron revisiones. ● Fusionamos los cambios del branch “nueva_rama” con “master” ● Creamos un repositorio central llamado “mirepo.git” a partir de “myproject” ● Clonamos “mirepo.git” con nombre “newproject” ● Hicimos cambios, guardamos y luego enviamos al repositorio central “mirepo.git” ● Clonamos otra vez de “mirepo.git” llamado “miproyecto” y nos fijamos el historial de revisiones. ● Creamos una nueva rama, hicimos cambios, comparamos y fusionamos, finalmente enviamos los cambios al repositorio “mirepo.git” ● Por último fuimos a “newproject” a actualizar con pull
  • 17. Github / Bitbucket ● Github Trabaja con repositorios netamente de tipo git, tiene una versión de pago para repositorio privados. ● Bitbucket A diferencia del anterior permite trabajar con repositorios privados y trabaja con mercurial y git.
  • 18. Recomendaciones ● Traer siempre la última versión con un pull, y correr los test's, para evitar conflictos de archivos e inconsistencia en el proyecto. ● Nunca dejar cambios sin guardar al termino del horario de trabajo. ● Realizar commit's con comentarios significativos, a fin de mantener el repositorio limpio y ordenado. ● Resolver todos los conflictos al hacer un merge antes de enviar los cambios con push ● Darle una repasada al libro Pro Git http://git- scm.com/book/es