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

Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CIColCh
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.skJuraj Hantak
 
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
わしわし的おすすめ  .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会わしわし的おすすめ  .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会Yukinori KITADAI
 
Jenkins vs GitLab CI
Jenkins vs GitLab CIJenkins vs GitLab CI
Jenkins vs GitLab CICEE-SEC(R)
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020Noa Harel
 
Scala Talk at FOSDEM 2009
Scala Talk at FOSDEM 2009Scala Talk at FOSDEM 2009
Scala Talk at FOSDEM 2009Martin Odersky
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic VersioningDrupalize.Me
 
Let's make a contract: the art of designing a Java API
Let's make a contract: the art of designing a Java APILet's make a contract: the art of designing a Java API
Let's make a contract: the art of designing a Java APIMario Fusco
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編なべ
 
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...GITS Indonesia
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An IntroductionBehzad Altaf
 
Service Actions
Service ActionsService Actions
Service ActionsOutSystems
 
Xamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみたXamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみたm ishizaki
 
Introduction to GoLang
Introduction to GoLangIntroduction to GoLang
Introduction to GoLangNVISIA
 

La actualidad más candente (20)

Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
わしわし的おすすめ  .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会わしわし的おすすめ  .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
 
Jenkins vs GitLab CI
Jenkins vs GitLab CIJenkins vs GitLab CI
Jenkins vs GitLab CI
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020
 
Scala Talk at FOSDEM 2009
Scala Talk at FOSDEM 2009Scala Talk at FOSDEM 2009
Scala Talk at FOSDEM 2009
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic Versioning
 
Git training
Git trainingGit training
Git training
 
Let's make a contract: the art of designing a Java API
Let's make a contract: the art of designing a Java APILet's make a contract: the art of designing a Java API
Let's make a contract: the art of designing a Java API
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
Overview of github
Overview of githubOverview of github
Overview of github
 
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
 
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Service Actions
Service ActionsService Actions
Service Actions
 
Git training v10
Git training v10Git training v10
Git training v10
 
Xamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみたXamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみた
 
Introduction to GoLang
Introduction to GoLangIntroduction to GoLang
Introduction to GoLang
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 

Destacado

Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GITbetabeers
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a gitKeopx
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a GitJuan Antonio
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a gitbetabeers
 
Introduccion a Git
Introduccion a GitIntroduccion a Git
Introduccion a GitStratebi
 
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 colaborativoJuan J. Merelo
 

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

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
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GITKeopx
 
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 GithubCarlos Huamaní
 
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
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a GitManuel Ceron
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantesnscoder_mad
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part IIMax Rodriguez
 
Taller Git en la URJC
Taller Git en la URJC Taller Git en la URJC
Taller Git en la URJC sidelab
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de gitAntonio Ognio
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de gitKeopx
 
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxGuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxfuenzalidarodrigo
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando GitHugo Gilmar Erazo
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque prácticoPatxi Gortázar
 
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-USABILIDADDIEGOALBERTOENRIQUEZ4
 
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
 

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

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...Mario IC
 
Aws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMSAws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMSMario IC
 
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 KMSMario IC
 
Testing Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfraTesting Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfraMario IC
 
Automatización de tareas con Ansible
Automatización de tareas con AnsibleAutomatización de tareas con Ansible
Automatización de tareas con AnsibleMario IC
 
Earthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroidesEarthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroidesMario IC
 
Infraestructura como Codigo para Developers
Infraestructura como Codigo para DevelopersInfraestructura como Codigo para Developers
Infraestructura como Codigo para DevelopersMario IC
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkMario IC
 
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 HelmMario IC
 
Cloud native Computing Perú Octubre
Cloud native Computing Perú OctubreCloud native Computing Perú Octubre
Cloud native Computing Perú OctubreMario IC
 
Agiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeAgiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeMario IC
 
Workshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - SuestraWorkshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - SuestraMario IC
 
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 SwarmMario IC
 
GDG Lima - Docker Compose
GDG Lima - Docker ComposeGDG Lima - Docker Compose
GDG Lima - Docker ComposeMario IC
 
Docker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junioDocker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junioMario IC
 
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 MayoMario IC
 
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 BehaveMario IC
 
Infrastructure as Code with Terraform
Infrastructure as Code with TerraformInfrastructure as Code with Terraform
Infrastructure as Code with TerraformMario IC
 
Docker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbdayDocker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbdayMario IC
 
Modelado de API con RAML
Modelado de API con RAMLModelado de API con RAML
Modelado de API con RAMLMario 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

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
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)GDGSucre
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
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 FabricKeyla Dolores Méndez
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
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 UninoveFagnerLisboa3
 
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.pptx241521559
 
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íassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
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 JosephBRAYANJOSEPHPEREZGOM
 

Último (19)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
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)
 
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...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
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
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
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
 
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
 
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
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
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
 

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