SlideShare una empresa de Scribd logo
1 de 20
GITGIT CourseCourse
Conceptos base de Git
GITGIT CourseCourse
Conceptos base de Git
●
Repositorios centralizados
●
SVN / TFS / etc
●
El 'working copy' solo tiene una instantánea del repositorio
en un momento dado.
●
Cualquier petición o cambio de información debe ser
trasladada al servidor para su resolución.
●
Diff
●
Compare
●
History
●
Branch
●
Merge
●
etc...
GITGIT CourseCourse
●
Repositorios distribuidos (GIT)
●
Repo local = repo remoto
● Contiene todos los elementos.
● Se añaden dos capas más a la estructura.
●
Repositorio local completo
● Stage / index
● Se admiten muchos repositorios remotos.
Son un elemento más del entorno distribuido.
Conceptos base de Git
GITGIT CourseCourse
●
HEAD
●
Es la forma que tiene GIT de referirse a la rama
(branch) + commit en el que estamos posicionados.
● En cualquier momento podemos situarnos en otro
commit (punto en el tiempo) de una rama
concreta.
Conceptos base de Git
GITGIT CourseCourse
Conceptos base de Git
●
Realidades
●
La curva de aprendizaje de GIT es pronunciada.
● Requiere entre uno y dos años (según @thinklikeagit).
● Lo mismo, se puede conseguir de varias formas distintas.
GITGIT CourseCourse
Características de Git
GITGIT CourseCourse
Características de Git
● Branching ● Los branches están a nuestro
servicio.
● Podemos realizar spikes dentro
del código de producción.
● Creamos un branch por cada
Tarea en nuestra historia, e
incluso por cada elemento dentro
de la tarea.
● El master solo recibirá código de
calidad y finalizado. Nunca verá
los pasos fallidos o las pruebas
realizadas.
GITGIT CourseCourse
● Branching
● Todo es local
● Prácticamente todo en GIT es
trabajo local.
– Ver un diff
– Historia de un fichero
– Hacer commit de cambios
– Mergear ramas
– Obtener revisiones de ficheros
– Cambiar de ramas/branches
● Solo hay 3 comandos principales
que hablan con un repositorio
central.
Características de Git
GITGIT CourseCourse
● Branching
● Todo es local
● Es rápido
● Es uno de los objetivos primarios
del equipo de desarrollo de GIT.
● Números con el repositorio de
Django
Características de Git
GITGIT CourseCourse
● Branching
● Todo es local
● Es rápido
● Es pequeño
● Git es realmente bueno
conservando espacio en disco.
● Comprime con Zlib.
● Todo en GIT son diff's y punteros.
● Un clone de Git es ligeramente
mayor que un Checkout de SVN
Características de Git
GITGIT CourseCourse
● Branching
● Todo es local
● Es rápido
● Es pequeño
● El index
● También llamado el Stage
● Ofrece una gran versatilidad y
control sobre lo que se desea
commitear.
● Podemos usarlo o no.
Características de Git
GITGIT CourseCourse
● Branching
● Todo es local
● Es rápido
● Es pequeño
● El index
● Es Distribuido
● Solo existen copias completas del
repositorio.
● No hay un punto único de fallo.
Características de Git
GITGIT CourseCourse
● Branching
● Todo es local
● Es rápido
● Es pequeño
● El index
● Es distribuido
● Distintos Workflows
● Admite practicamente cualquier
tipo de Workflow.
– Centralizados
– Administrados
● Un manager gestiona los
commits.
– Sub-Administrados
● SubManagers gestionan los
commits de los developers.
● Un manager gestiona los
commits de los
submanagers.
Características de Git
GITGIT CourseCourse
Manos a la obra
GITGIT CourseCourse
Manos a la obra
● Git Extensions
http://code.google.com/p/gitextensions/
● Git Source Control Provider
http://visualstudiogallery.msdn.microsoft.com
/63a7e40d-4d71-4fbb-a23b-d262124b8f4c
GITGIT CourseCourse
Manos a la obra
● Inicializar un repositorio
git init <directory>
● Añadir cambios del working dir al index
git add -all [<file>]
● Añadir cambios del index al repositorio
git commit -m “<message>”
git commit -a (realiza los dos pasos en uno solo)
● Ver estado/diferencias
git diff [--cached] / git status
GITGIT CourseCourse
Manos a la obra
● Ramas
– Una rama es una referencia a un commit.
– Forman parte del flujo normal de trabajo.
● Ver ramas
git branch / git branch -r / git branch -a
● Crear ramas
git branch <rama> / git checkout -b <rama>
● Renombrar y Borrar ramas
git branch -m <nombreActual> <nuevoNombre>
git branch -d/-D <rama>
GITGIT CourseCourse
Manos a la obra
● Fusionar distintas ramas.
– Git decide el algoritmo de fusión adecuado:
Fast-Forward merge / 3-Way Merge
– La fusión siempre se realiza a la rama actual.
git merge <rama>
git merge –no-ff <rama>
● Crear ramas
git branch <rama> / git checkout -b <rama>
● Renombrar y Borrar ramas
git branch -m <nombreActual> <nuevoNombre>
git branch -d/-D <rama>
GITGIT CourseCourse
Manos a la obra
● Añadir un repositorio remoto
git remote add <name> <url>
● Recoger cambios del remoto
git pull <name> [<rama>]
● Enviar a un remoto
git push <name> [<rama>]
git push –all <name> (Todas las ramas locales)
● Ver estado/diferencias
git diff [--cached] / git status
GITGIT CourseCourse
G R A C I A S

Más contenido relacionado

Similar a Git windows

Similar a Git windows (20)

WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GIT
 
Introducción a git
Introducción a gitIntroducción a git
Introducción 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.pdf
 
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
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque práctico
 
Taller breve de introduccion a Git
Taller breve de introduccion a GitTaller breve de introduccion a Git
Taller breve de introduccion 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
 
Git para no gitters
Git para no gittersGit para no gitters
Git para no gitters
 
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
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
 
Intro a GIT
Intro a GITIntro a GIT
Intro a GIT
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Taller Git en la URJC
Taller Git en la URJC Taller Git en la URJC
Taller Git en la URJC
 
Replacing SVN with Git for managers
Replacing SVN with Git for managersReplacing SVN with Git for managers
Replacing SVN with Git for managers
 
Git y drupal
Git y drupalGit y drupal
Git y drupal
 
Un modelo exitoso para git
Un modelo exitoso para gitUn modelo exitoso para git
Un modelo exitoso para 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
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
 
Git flow en gitlab
Git flow en gitlabGit flow en gitlab
Git flow en gitlab
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

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
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Git windows

  • 2. GITGIT CourseCourse Conceptos base de Git ● Repositorios centralizados ● SVN / TFS / etc ● El 'working copy' solo tiene una instantánea del repositorio en un momento dado. ● Cualquier petición o cambio de información debe ser trasladada al servidor para su resolución. ● Diff ● Compare ● History ● Branch ● Merge ● etc...
  • 3. GITGIT CourseCourse ● Repositorios distribuidos (GIT) ● Repo local = repo remoto ● Contiene todos los elementos. ● Se añaden dos capas más a la estructura. ● Repositorio local completo ● Stage / index ● Se admiten muchos repositorios remotos. Son un elemento más del entorno distribuido. Conceptos base de Git
  • 4. GITGIT CourseCourse ● HEAD ● Es la forma que tiene GIT de referirse a la rama (branch) + commit en el que estamos posicionados. ● En cualquier momento podemos situarnos en otro commit (punto en el tiempo) de una rama concreta. Conceptos base de Git
  • 5. GITGIT CourseCourse Conceptos base de Git ● Realidades ● La curva de aprendizaje de GIT es pronunciada. ● Requiere entre uno y dos años (según @thinklikeagit). ● Lo mismo, se puede conseguir de varias formas distintas.
  • 7. GITGIT CourseCourse Características de Git ● Branching ● Los branches están a nuestro servicio. ● Podemos realizar spikes dentro del código de producción. ● Creamos un branch por cada Tarea en nuestra historia, e incluso por cada elemento dentro de la tarea. ● El master solo recibirá código de calidad y finalizado. Nunca verá los pasos fallidos o las pruebas realizadas.
  • 8. GITGIT CourseCourse ● Branching ● Todo es local ● Prácticamente todo en GIT es trabajo local. – Ver un diff – Historia de un fichero – Hacer commit de cambios – Mergear ramas – Obtener revisiones de ficheros – Cambiar de ramas/branches ● Solo hay 3 comandos principales que hablan con un repositorio central. Características de Git
  • 9. GITGIT CourseCourse ● Branching ● Todo es local ● Es rápido ● Es uno de los objetivos primarios del equipo de desarrollo de GIT. ● Números con el repositorio de Django Características de Git
  • 10. GITGIT CourseCourse ● Branching ● Todo es local ● Es rápido ● Es pequeño ● Git es realmente bueno conservando espacio en disco. ● Comprime con Zlib. ● Todo en GIT son diff's y punteros. ● Un clone de Git es ligeramente mayor que un Checkout de SVN Características de Git
  • 11. GITGIT CourseCourse ● Branching ● Todo es local ● Es rápido ● Es pequeño ● El index ● También llamado el Stage ● Ofrece una gran versatilidad y control sobre lo que se desea commitear. ● Podemos usarlo o no. Características de Git
  • 12. GITGIT CourseCourse ● Branching ● Todo es local ● Es rápido ● Es pequeño ● El index ● Es Distribuido ● Solo existen copias completas del repositorio. ● No hay un punto único de fallo. Características de Git
  • 13. GITGIT CourseCourse ● Branching ● Todo es local ● Es rápido ● Es pequeño ● El index ● Es distribuido ● Distintos Workflows ● Admite practicamente cualquier tipo de Workflow. – Centralizados – Administrados ● Un manager gestiona los commits. – Sub-Administrados ● SubManagers gestionan los commits de los developers. ● Un manager gestiona los commits de los submanagers. Características de Git
  • 15. GITGIT CourseCourse Manos a la obra ● Git Extensions http://code.google.com/p/gitextensions/ ● Git Source Control Provider http://visualstudiogallery.msdn.microsoft.com /63a7e40d-4d71-4fbb-a23b-d262124b8f4c
  • 16. GITGIT CourseCourse Manos a la obra ● Inicializar un repositorio git init <directory> ● Añadir cambios del working dir al index git add -all [<file>] ● Añadir cambios del index al repositorio git commit -m “<message>” git commit -a (realiza los dos pasos en uno solo) ● Ver estado/diferencias git diff [--cached] / git status
  • 17. GITGIT CourseCourse Manos a la obra ● Ramas – Una rama es una referencia a un commit. – Forman parte del flujo normal de trabajo. ● Ver ramas git branch / git branch -r / git branch -a ● Crear ramas git branch <rama> / git checkout -b <rama> ● Renombrar y Borrar ramas git branch -m <nombreActual> <nuevoNombre> git branch -d/-D <rama>
  • 18. GITGIT CourseCourse Manos a la obra ● Fusionar distintas ramas. – Git decide el algoritmo de fusión adecuado: Fast-Forward merge / 3-Way Merge – La fusión siempre se realiza a la rama actual. git merge <rama> git merge –no-ff <rama> ● Crear ramas git branch <rama> / git checkout -b <rama> ● Renombrar y Borrar ramas git branch -m <nombreActual> <nuevoNombre> git branch -d/-D <rama>
  • 19. GITGIT CourseCourse Manos a la obra ● Añadir un repositorio remoto git remote add <name> <url> ● Recoger cambios del remoto git pull <name> [<rama>] ● Enviar a un remoto git push <name> [<rama>] git push –all <name> (Todas las ramas locales) ● Ver estado/diferencias git diff [--cached] / git status