SlideShare una empresa de Scribd logo
3
Lo más leído
4
Lo más leído
5
Lo más leído
GIT
Repositorio Distribuido
Mariano Kfuri
Agosto 2015
Agenda
¿Qué es Git?
Diferencia con SVN.
Estados y áreas.
Comandos básicos.
Pull request
Flows.
¿Qué es Git?
Sistema distribuido de control de versiones.
Operaciones son locales.
Cada commits es un SNAPSHOT.
El repositorio es un conjunto de SNAPSHOT
Cada SNAPSHOT es un repositorio completo
Tiene integridad de datos.
Cada SNAPSHOT se identifica con un
checksum
Control de versión mediante 3 áreas.
Working directory
Staging area
Git directory (repositorio)
Diferencias con SVN
Sistema Centralizado de control de
versiones.
Cada commits guarda la diferencias entre
cada revisión.
Permite editar archivos offline pero todas
las operaciones son online
Riesgo de perder datos en caso de falla del
server.
Diferencias con SVN
SVN
GIT
Estados y Áreas
Los 3 estados:
Committed
Modified
Stages
Las 3 áreas:
Git directory
Working directory
Staging area
Stash Área
Permite guardar los cambios realizados en working directory que uno no quiere
commitear.
Se puede pensar como un “holding area”.
Internamente es un branch
Cuando los cambios son guardados en “stash área” el working directory vuelve a la
revisión HEAD.
Comandos:
git stash save name: Guarda los cambios.
git stash list: Lista los cambios.
git stash apply name: Aplica los cambios guardados.
git stash pop: Aplica los cambios y los remueve de “stash área”.
Comandos Básicos: Setting...
git init
Crea un repositorio nuevo
Crea directorio .git que contiene toda la metadata del repositorio.
git clone
Copia un repositorio existente. La copia es completa.
El repositorio copiado es un entorno completamente aislado del original
Deja vinculado el repositorio local con el repositorio remoto “origin”
git config
Configura el repositorio tanto individual como global.
Comandos Básicos: Guardando...
git add
Agrega los cambios desde el working directory a staging area.
No modifica el repositorio
Se debe llamar cada vez que se modifica un archivo
git commit
Commits los cambios agregados al staging area.
El snapshot pasa a git directory.
git commit --amend
Permite alterar el último commit, tanto en comentarios como en
archivos del snapshot.
Comandos Básicos: Visualizando...
git status
Visualizar el estado del working directory y del staging area.
No muestra información sobre git directory.
git log
Muestra los snapshot commiteados dentro de git directory.
Permite buscar y filtrar cambios.
Sólo opera sobre git directory
Comandos Básicos: Revirtiendo...
git checkout
3 funciones. Checkout archivos, commits o branches
Checkout archivos permite recuperar la versión de un archivo.
Checkout commits permite recuperar un snapshot completo.
Checkout branch permite cambiar de un branch a otro.
git revert
Revierte un snapshot determinado.
No elimina el snapshot de git directory, sino que agrega otro con el cambio
generado.
Es seguro.
git reset
Elimina todos los snapshot de git directory hasta el commit deseado
git clean
Elimina los archivos no trackeados por git.
Comandos Básicos: Revirtiendo...
Revert vs Reset
Comandos Básicos: Colaborando...
git remote
Permite crear, ver y borrar conexiones con otros repositorios
git fetch
Importa los commits de un repositorio remoto al local.
No realiza cambios sobre el repositorio local.
git pull
Actualiza y mergea los cambios del repositorio remoto con el local.
Internamente es como hacer git fetch & git merge,
git push
Exporta los commits locales hacia el repositorio remoto.
Comandos básicos: Branching...
git branch
Permite crear, ver y eliminar branch.
git checkout
Permite cambiar de un branch a otro.
git merge
Permite importar los cambios realizados en un branch en otro.
Pull request
No es una herramienta de Git, sino que depende de los
proveedores. Github lo soporta.
Mecanismo para informar al equipo que un feature está
completo y para ser mergeado.
Abre un canal de comunicación, revisión y discusión
sobre la implementación.
Permite retener un merge.
Flow
Centralized Workflow
Feature Branch Workflow
Gitflow Workflow
Forking Workflow
Flow: Centralized Workflow
Misma estructura que usar SVN
Cada desarrollador tiene su repositorio
local.
Ideal para migrar Bumex
Flow: Feature Branch Workflow
Extiende de centralized.
Por cada desarrollo nuevo, se crea
un branch.
Siguiente paso para Bumex
Flow: Gitflow Workflow
Define un modelo estricto de
branches.
Garantiza que la versión del master
sea siempre igual a producción.
Bumex debe tender a este modelo.
Adoptarlo en los nuevos proyectos
Flow: Forking Workflow
Cada equipo tiene un server-side
repository
Se necesita de un rol que realice los
merge desde team server-side
repository al central.
Da mayor seguridad
El equipo de Brasil podría trabajar
bajo este esquema
Preguntas
Bibliografía
Documentación oficial Git. [https://git-scm.com/doc]
Tutoriales de Atlassian. [https://www.atlassian.com/git/tutorials]
Vincent Driessen blog. [http://nvie.com/posts/a-successful-git-branching-model]
Github helps [https://help.github.com]
Git interactivo [https://try.github.io]
Github training [https://training.github.com/kit/courses/github-for-everyone.html]
Introducción a git

Más contenido relacionado

PDF
Git best practices workshop
PDF
WorkShop: Introducción a GIT
PPTX
BitBucket presentation
PPTX
Git hub ppt presentation
PPTX
Git Pull Requests
PPTX
PPTX
Git 101 for Beginners
PPTX
Git and github
Git best practices workshop
WorkShop: Introducción a GIT
BitBucket presentation
Git hub ppt presentation
Git Pull Requests
Git 101 for Beginners
Git and github

La actualidad más candente (20)

PPTX
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
PDF
Git Introduction Tutorial
PDF
Introducing GitLab (September 2018)
PPTX
Github
PPTX
Git - Basic Crash Course
PPT
Git Introduction
PDF
git and github
PPT
Git basic
PPTX
Advanced Git Presentation By Swawibe
PDF
Starting with Git & GitHub
PPTX
Git and git workflow best practice
PDF
Version Control History and Git Basics
PDF
Learning git
PPTX
PPTX
Understanding GIT and Version Control
PDF
ClickHouse materialized views - a secret weapon for high performance analytic...
PPTX
Git branching strategies
PDF
Git and github 101
PDF
Git and Github slides.pdf
PPTX
Intro to git and git hub
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Introduction Tutorial
Introducing GitLab (September 2018)
Github
Git - Basic Crash Course
Git Introduction
git and github
Git basic
Advanced Git Presentation By Swawibe
Starting with Git & GitHub
Git and git workflow best practice
Version Control History and Git Basics
Learning git
Understanding GIT and Version Control
ClickHouse materialized views - a secret weapon for high performance analytic...
Git branching strategies
Git and github 101
Git and Github slides.pdf
Intro to git and git hub
Publicidad

Destacado (20)

PDF
Ep 11-epixeirhsiakos-sxediasmos
PDF
Lindy Onion Page 1 Kidnap and murder and execution
PPTX
110616 iles_on_a_budget
PDF
Le best practice del settore bancario sui social media
PDF
538210 rc220-rum
PPTX
Power point sabato 8giugno
PPTX
Calendario
PDF
Citibank world money card (Leisure variant) launch campaign
PPT
Vantaggi competitivi 6. Quali problemi strategici meritano immediata attenzio...
PDF
Sebyde document phishing - trap er niet in
DOCX
Core beliefs about teaching
PDF
Presupuesto suministro-de-materiales-de-tablaroca
PDF
Agile UX in an Agency Environment
PDF
Manual sistema de forrado de tablaroca sin bastidor
PDF
Git - Get Ready To Use It
PDF
External Resume 16Jan2016
PPT
закон україни про охорону праці
PDF
La Costruzione Della Cellula Vegetale
PPTX
Building a research culture in a #highered institution
PPT
Class 8 english lesson 5 a letter
Ep 11-epixeirhsiakos-sxediasmos
Lindy Onion Page 1 Kidnap and murder and execution
110616 iles_on_a_budget
Le best practice del settore bancario sui social media
538210 rc220-rum
Power point sabato 8giugno
Calendario
Citibank world money card (Leisure variant) launch campaign
Vantaggi competitivi 6. Quali problemi strategici meritano immediata attenzio...
Sebyde document phishing - trap er niet in
Core beliefs about teaching
Presupuesto suministro-de-materiales-de-tablaroca
Agile UX in an Agency Environment
Manual sistema de forrado de tablaroca sin bastidor
Git - Get Ready To Use It
External Resume 16Jan2016
закон україни про охорону праці
La Costruzione Della Cellula Vegetale
Building a research culture in a #highered institution
Class 8 english lesson 5 a letter
Publicidad

Similar a Introducción a git (20)

PDF
GIT presentación de teoría y practica.pdf
PDF
FULL STACK PYTHON - Clase dedicada a GitHub
PDF
Git para no gitters
PPTX
Introducción a GIT
PDF
Manual para usuarios de Git @patxiredes.pdf
PPTX
GITHUB control de versiones, para el manejo de repositorios versionados
PDF
Git & GitHub Part II
ODP
Git para no gitters
PDF
Control de versiones utilizando Git
PDF
Git, como no romper un repositorio
PPTX
Control de versiones
PPTX
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
PDF
APRENDE INTEGRADOR CON NOSTROS FACIL Y RAPIDO
ODP
Git - Gitlab
PDF
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
PDF
Introducción a git
PDF
Git & GitHub Part I
ODP
Uso de git para el mantenimiento de parches locales o públicos
PDF
Introducción a Git
GIT presentación de teoría y practica.pdf
FULL STACK PYTHON - Clase dedicada a GitHub
Git para no gitters
Introducción a GIT
Manual para usuarios de Git @patxiredes.pdf
GITHUB control de versiones, para el manejo de repositorios versionados
Git & GitHub Part II
Git para no gitters
Control de versiones utilizando Git
Git, como no romper un repositorio
Control de versiones
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
APRENDE INTEGRADOR CON NOSTROS FACIL Y RAPIDO
Git - Gitlab
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Introducción a git
Git & GitHub Part I
Uso de git para el mantenimiento de parches locales o públicos
Introducción a Git

Último (11)

PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
sistemas de informacion.................
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PPTX
Implementación equipo monitor12.08.25.pptx
PPTX
Fundamentos de Python - Curso de Python dia 1
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Derechos_de_Autor_y_Creative_Commons.pptx
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
AutoCAD Herramientas para el futuro, Juan Fandiño
sistemas de informacion.................
Su punto de partida en la IA: Microsoft 365 Copilot Chat
Implementación equipo monitor12.08.25.pptx
Fundamentos de Python - Curso de Python dia 1
Conceptos basicos de Base de Datos y sus propiedades
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf

Introducción a git

  • 2. Agenda ¿Qué es Git? Diferencia con SVN. Estados y áreas. Comandos básicos. Pull request Flows.
  • 3. ¿Qué es Git? Sistema distribuido de control de versiones. Operaciones son locales. Cada commits es un SNAPSHOT. El repositorio es un conjunto de SNAPSHOT Cada SNAPSHOT es un repositorio completo Tiene integridad de datos. Cada SNAPSHOT se identifica con un checksum Control de versión mediante 3 áreas. Working directory Staging area Git directory (repositorio)
  • 4. Diferencias con SVN Sistema Centralizado de control de versiones. Cada commits guarda la diferencias entre cada revisión. Permite editar archivos offline pero todas las operaciones son online Riesgo de perder datos en caso de falla del server.
  • 6. Estados y Áreas Los 3 estados: Committed Modified Stages Las 3 áreas: Git directory Working directory Staging area
  • 7. Stash Área Permite guardar los cambios realizados en working directory que uno no quiere commitear. Se puede pensar como un “holding area”. Internamente es un branch Cuando los cambios son guardados en “stash área” el working directory vuelve a la revisión HEAD. Comandos: git stash save name: Guarda los cambios. git stash list: Lista los cambios. git stash apply name: Aplica los cambios guardados. git stash pop: Aplica los cambios y los remueve de “stash área”.
  • 8. Comandos Básicos: Setting... git init Crea un repositorio nuevo Crea directorio .git que contiene toda la metadata del repositorio. git clone Copia un repositorio existente. La copia es completa. El repositorio copiado es un entorno completamente aislado del original Deja vinculado el repositorio local con el repositorio remoto “origin” git config Configura el repositorio tanto individual como global.
  • 9. Comandos Básicos: Guardando... git add Agrega los cambios desde el working directory a staging area. No modifica el repositorio Se debe llamar cada vez que se modifica un archivo git commit Commits los cambios agregados al staging area. El snapshot pasa a git directory. git commit --amend Permite alterar el último commit, tanto en comentarios como en archivos del snapshot.
  • 10. Comandos Básicos: Visualizando... git status Visualizar el estado del working directory y del staging area. No muestra información sobre git directory. git log Muestra los snapshot commiteados dentro de git directory. Permite buscar y filtrar cambios. Sólo opera sobre git directory
  • 11. Comandos Básicos: Revirtiendo... git checkout 3 funciones. Checkout archivos, commits o branches Checkout archivos permite recuperar la versión de un archivo. Checkout commits permite recuperar un snapshot completo. Checkout branch permite cambiar de un branch a otro. git revert Revierte un snapshot determinado. No elimina el snapshot de git directory, sino que agrega otro con el cambio generado. Es seguro. git reset Elimina todos los snapshot de git directory hasta el commit deseado git clean Elimina los archivos no trackeados por git.
  • 13. Comandos Básicos: Colaborando... git remote Permite crear, ver y borrar conexiones con otros repositorios git fetch Importa los commits de un repositorio remoto al local. No realiza cambios sobre el repositorio local. git pull Actualiza y mergea los cambios del repositorio remoto con el local. Internamente es como hacer git fetch & git merge, git push Exporta los commits locales hacia el repositorio remoto.
  • 14. Comandos básicos: Branching... git branch Permite crear, ver y eliminar branch. git checkout Permite cambiar de un branch a otro. git merge Permite importar los cambios realizados en un branch en otro.
  • 15. Pull request No es una herramienta de Git, sino que depende de los proveedores. Github lo soporta. Mecanismo para informar al equipo que un feature está completo y para ser mergeado. Abre un canal de comunicación, revisión y discusión sobre la implementación. Permite retener un merge.
  • 16. Flow Centralized Workflow Feature Branch Workflow Gitflow Workflow Forking Workflow
  • 17. Flow: Centralized Workflow Misma estructura que usar SVN Cada desarrollador tiene su repositorio local. Ideal para migrar Bumex
  • 18. Flow: Feature Branch Workflow Extiende de centralized. Por cada desarrollo nuevo, se crea un branch. Siguiente paso para Bumex
  • 19. Flow: Gitflow Workflow Define un modelo estricto de branches. Garantiza que la versión del master sea siempre igual a producción. Bumex debe tender a este modelo. Adoptarlo en los nuevos proyectos
  • 20. Flow: Forking Workflow Cada equipo tiene un server-side repository Se necesita de un rol que realice los merge desde team server-side repository al central. Da mayor seguridad El equipo de Brasil podría trabajar bajo este esquema
  • 22. Bibliografía Documentación oficial Git. [https://git-scm.com/doc] Tutoriales de Atlassian. [https://www.atlassian.com/git/tutorials] Vincent Driessen blog. [http://nvie.com/posts/a-successful-git-branching-model] Github helps [https://help.github.com] Git interactivo [https://try.github.io] Github training [https://training.github.com/kit/courses/github-for-everyone.html]