Git windows

287 views
223 views

Published on

Presentación de la charla de Git en entorno Windows y Visual Studio.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
287
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Git windows

  1. 1. GITGIT CourseCourseConceptos base de Git
  2. 2. GITGIT CourseCourseConceptos base de Git●Repositorios centralizados●SVN / TFS / etc●El working copy solo tiene una instantánea del repositorioen un momento dado.●Cualquier petición o cambio de información debe sertrasladada al servidor para su resolución.●Diff●Compare●History●Branch●Merge●etc...
  3. 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. 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 otrocommit (punto en el tiempo) de una ramaconcreta.Conceptos base de Git
  5. 5. GITGIT CourseCourseConceptos 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.
  6. 6. GITGIT CourseCourseCaracterísticas de Git
  7. 7. GITGIT CourseCourseCaracterísticas de Git● Branching ● Los branches están a nuestroservicio.● Podemos realizar spikes dentrodel código de producción.● Creamos un branch por cadaTarea en nuestra historia, eincluso por cada elemento dentrode la tarea.● El master solo recibirá código decalidad y finalizado. Nunca verálos pasos fallidos o las pruebasrealizadas.
  8. 8. GITGIT CourseCourse● Branching● Todo es local● Prácticamente todo en GIT estrabajo 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 principalesque hablan con un repositoriocentral.Características de Git
  9. 9. GITGIT CourseCourse● Branching● Todo es local● Es rápido● Es uno de los objetivos primariosdel equipo de desarrollo de GIT.● Números con el repositorio deDjangoCaracterísticas de Git
  10. 10. GITGIT CourseCourse● Branching● Todo es local● Es rápido● Es pequeño● Git es realmente buenoconservando espacio en disco.● Comprime con Zlib.● Todo en GIT son diffs y punteros.● Un clone de Git es ligeramentemayor que un Checkout de SVNCaracterísticas de Git
  11. 11. GITGIT CourseCourse● Branching● Todo es local● Es rápido● Es pequeño● El index● También llamado el Stage● Ofrece una gran versatilidad ycontrol sobre lo que se deseacommitear.● Podemos usarlo o no.Características de Git
  12. 12. GITGIT CourseCourse● Branching● Todo es local● Es rápido● Es pequeño● El index● Es Distribuido● Solo existen copias completas delrepositorio.● No hay un punto único de fallo.Características de Git
  13. 13. GITGIT CourseCourse● Branching● Todo es local● Es rápido● Es pequeño● El index● Es distribuido● Distintos Workflows● Admite practicamente cualquiertipo de Workflow.– Centralizados– Administrados● Un manager gestiona loscommits.– Sub-Administrados● SubManagers gestionan loscommits de los developers.● Un manager gestiona loscommits de lossubmanagers.Características de Git
  14. 14. GITGIT CourseCourseManos a la obra
  15. 15. GITGIT CourseCourseManos a la obra● Git Extensionshttp://code.google.com/p/gitextensions/● Git Source Control Providerhttp://visualstudiogallery.msdn.microsoft.com/63a7e40d-4d71-4fbb-a23b-d262124b8f4c
  16. 16. GITGIT CourseCourseManos a la obra● Inicializar un repositoriogit init <directory>● Añadir cambios del working dir al indexgit add -all [<file>]● Añadir cambios del index al repositoriogit commit -m “<message>”git commit -a (realiza los dos pasos en uno solo)● Ver estado/diferenciasgit diff [--cached] / git status
  17. 17. GITGIT CourseCourseManos a la obra● Ramas– Una rama es una referencia a un commit.– Forman parte del flujo normal de trabajo.● Ver ramasgit branch / git branch -r / git branch -a● Crear ramasgit branch <rama> / git checkout -b <rama>● Renombrar y Borrar ramasgit branch -m <nombreActual> <nuevoNombre>git branch -d/-D <rama>
  18. 18. GITGIT CourseCourseManos 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 ramasgit branch <rama> / git checkout -b <rama>● Renombrar y Borrar ramasgit branch -m <nombreActual> <nuevoNombre>git branch -d/-D <rama>
  19. 19. GITGIT CourseCourseManos a la obra● Añadir un repositorio remotogit remote add <name> <url>● Recoger cambios del remotogit pull <name> [<rama>]● Enviar a un remotogit push <name> [<rama>]git push –all <name> (Todas las ramas locales)● Ver estado/diferenciasgit diff [--cached] / git status
  20. 20. GITGIT CourseCourseG R A C I A S

×