SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Primeros pasos con git
Juan Vladimir
@juanvladimir13
control de versiones de proyectos de software
Agenda
1. Sistema control de versiones (VCS)
● Un desarrollador sin VCS
● ¿ Qué es ?
● Arquitecturas de almacenamiento
● Aplicaciones
● Historia de git
2. Primeros pasos con git
3. Caso de estudio
Un desarrollador sin un VCS
¿Que es un VCS ?
✔ Es un sistema que registra los cambios realizados sobre un
archivo o conjunto de archivos a lo largo del tiempo, de modo
que puedas recuperar versiones específicas más adelante.
✔ Se llama control de versiones a la gestión de los diversos
cambios que se realizan sobre los elementos de algún producto
o una configuración del mismo.
✔ Una versión, revisión o edición de un producto, es el estado en
el que se encuentra el mismo en un momento dado de su
desarrollo o modificación.
Arquitectura de almacenamiento
Arquitectura de almacenamiento
Arquitectura de almacenamiento
Aplicaciones
Historia de git
El kernel de Linux es un proyecto de software de código abierto
con un alcance bastante amplio.
En el 2002, el proyecto del kernel de Linux empezó a usar un
DVCS propietario llamado BitKeeper.
En el 2005, la herramienta dejó de ser ofrecida de manera gratuita.
Esto impulsó a la comunidad de desarrollo de Linux (y en
particular a Linus Torvalds, el creador de Linux) a desarrollar su
propia herramienta basada en algunas de las lecciones que
aprendieron mientras usaban BitKeeper
Primeros pasos en git
Configurando git
✔ Configurando un usuario git
✔ Creando un proyecto
Trabajando con un proyecto
✔ Excluyendo archivos y directorios del proyecto
✔ Ver información del proyecto
✔ Agregar archivos al proyecto
✔ Los tres estados del proyecto
Configurando usuario git
Verificando la instalación de git
git --version
Configurando usuario
git config --global user.name "name address"
git config --global user.email email@example.com
git config --global core.editor vim
git config --global merge.tool vimdiff
git config --global color.ui true
Visualizar configuracion de usuario
git config --list
Sistema control de versiones git en un
proyecto
Proyecto vacio
git init project_name
cd project_name
Proyecto clonado
git clone url | path
Agregando a un proyecto existente
cd project_name
git init
Excluyendo archivos del proyecto
Crear o modificar el archivo .gitignore en la raíz del proyecto
Ignora los archivos terminados en .a
*.a
Ignora unicamente el archivo TODO de la raiz
/TODO
Ignora todos los archivos del directorio build/
build/
Ver información del proyecto
Revisando el estado de tus archivos
git status
Ver historial de confirmaciones
git log
git log --oneline
Ver informacion modo gráfico servidor web ligero
git instaweb -b google-chrome
git instaweb --stop
Agregar archivos al proyecto
Agregar un archivo o un directorio
git add filename
Agregar todo el contenido del directorio raíz del proyecto
git add .
Guardar los cambios
git commit -m “Nota que identifica un estado del project”
ShortCut
git commit -a -m “Nota que identifica un estado del project”
Los tres estados del proyecto
Estados del proyecto
Branch
Ramas o branch
✔ Acciones básicas sobre un branch
✔ ¿ Para que sirven ?
✔ Crear un branch
✔ Merge un branch
✔ Tools to branch
Ejemplo gráfico
¿ Para que sirven ?
✔ Para trabajar en una nueva versión experimental en paralelo
con la versión master del código en producción"
✔ Para corregir bugs en versiones antiguas mientras sigue el
desarrollo en master"
¿ Para que sirven ?
El código puede divergir en la rama respecto a la rama máster, pero luego
se pueden mezclar los cambios con merge!
✔ Los commits en una rama son distintos a los de otras ramas"
✔ ¡Los ficheros que se ven en una rama son distintos cuando cambiamos
de rama, aunque estamos en el mismo directorio!"
¡Siempre asegúrate antes de nada de en qué rama estás!"
✔ Ojo con los ficheros abiertos: ¡después de cambiarte a otra rama (en
el mismo directorio, ¡recarga en tu editor todos los ficheros!"
Mejor: ¡rearranca el editor!"
Los repos recién creados tienen una rama master
Crear un branch
Creando un nuevo branch
git branch branch_name
Accediendo al area de trabajo del branch
git checkout branch_name
ShortCut
git checkout -b branch_name
Merge branch
Situarse en el branch destino
git checkout branch_name_destino
Merge branch
git merge branch_name_origen
Tools to branch
Delete the branch
git branch -d branch_name
Views branch
git log --oneline --decorate --graph --all
Remote
Servidor de repositorios
✔ Configurar github para guardar un
repositorio
✔ Agregar un remote
✔ Guardar proyecto en un repositorio git
Configurar github para guardar un
repositorio
https://help.github.com/en/articles/checking-for-existing-ssh-keys
https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-th
e-ssh-agent
https://help.github.com/en/articles/adding-a-new-ssh-key-to-your-github-account
Agregar un remote
Agregar remote por defecto [ origin ]
git remote add remote_alias url.git
Vizualizar remote’s agregados
git remote
Vista detallada de [ fetch , push ]
git remote -v
Guardar proyecto en un repositorio git
Enviar proyecto al repositorio
git push remote_alias
Enviar rama del proyecto al repositorio
git push remote_alias branch_name
Actualizar repositorio local con nuevos cambios en el
servidor
git fetch remote_alias
URL’s
https://git-scm.com/
https://git-scm.com/book
https://git-scm.com/download/linux
Contactos y sugerencias
https://www.facebook.com/juanvladimir13
https://twitter.com/juanvladimir13
https://www.linkedin.com/in/juanvladimir13
https://www.instagram.com/juanvladimir13
@juanvladimir13
https://www.youtube.com/channel/UCk9R_mLgbc
ENR_BPF9M9asQ/videos
juanvladimir13@gmail.com
@juanvladimir13
http://juanvladimir13.wordpress.com
http://juanvladimir13.blogspot.com
https://github.com/juanvladimir13
https://bitbucket.org/juanvladimir13
https://www.facebook.com/groups/nucleolinux.uagrm
https://github.com/nucleolinux-uagrm
https://t.me/nucleolinux_uagrm

Contenu connexe

Tendances

05 intro-git-github-heroku-v4
05 intro-git-github-heroku-v405 intro-git-github-heroku-v4
05 intro-git-github-heroku-v4
fyomaira
 

Tendances (20)

Git / Guía Básica
Git / Guía BásicaGit / Guía Básica
Git / Guía Básica
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de git
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque práctico
 
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
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y Github
 
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
 
Control de versiones con GIT
Control de versiones con GITControl de versiones con GIT
Control de versiones con GIT
 
Configurando un repositorio de git hub usando netbeans ide
Configurando un repositorio de git hub usando netbeans ideConfigurando un repositorio de git hub usando netbeans ide
Configurando un repositorio de git hub usando netbeans ide
 
Fundamentos de GIt y Github
Fundamentos de GIt y GithubFundamentos de GIt y Github
Fundamentos de GIt y Github
 
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 y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesGit y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
 
Taller breve de introduccion a Git
Taller breve de introduccion a GitTaller breve de introduccion a Git
Taller breve de introduccion a Git
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
 
Git + Github - Betabeers Córdoba XII
Git + Github - Betabeers Córdoba XIIGit + Github - Betabeers Córdoba XII
Git + Github - Betabeers Córdoba XII
 
Taller GitHub
Taller GitHubTaller GitHub
Taller GitHub
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
05 intro-git-github-heroku-v4
05 intro-git-github-heroku-v405 intro-git-github-heroku-v4
05 intro-git-github-heroku-v4
 
Aprendiendo GIT
Aprendiendo GITAprendiendo GIT
Aprendiendo GIT
 

Similaire à Primeros pasos con 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
 
GITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionadosGITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionados
yuri460292
 

Similaire à Primeros pasos con git (20)

Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Induccion0_GitLab.pptx
Induccion0_GitLab.pptxInduccion0_GitLab.pptx
Induccion0_GitLab.pptx
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con 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
 
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
 
Versionando proyectos con Git, desarrollo de software colaborativo
Versionando proyectos con Git, desarrollo de software colaborativoVersionando proyectos con Git, desarrollo de software colaborativo
Versionando proyectos con Git, desarrollo de software colaborativo
 
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 y Github basico.pptx
Git y Github basico.pptxGit y Github basico.pptx
Git y Github basico.pptx
 
GITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionadosGITHUB control de versiones, para el manejo de repositorios versionados
GITHUB control de versiones, para el manejo de repositorios versionados
 
Git res baz ec - final
Git   res baz ec - finalGit   res baz ec - final
Git res baz ec - final
 
Git para no gitters
Git para no gittersGit para no gitters
Git para no gitters
 
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxGuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
 
Git y github básico
Git y github básicoGit y github básico
Git y github básico
 
Git for php devs
Git for php devsGit for php devs
Git for php devs
 
Mejora tu productividad con git
Mejora tu productividad con gitMejora tu productividad con git
Mejora tu productividad con git
 
Introducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y gitIntroducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y git
 
Git - Gitlab
Git - GitlabGit - Gitlab
Git - Gitlab
 
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
 
U1 Control de versiones.pdf
U1 Control de versiones.pdfU1 Control de versiones.pdf
U1 Control de versiones.pdf
 

Plus de Juan Vladimir

Plus de Juan Vladimir (16)

Software Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la ComputacionSoftware Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la Computacion
 
Install apps in ubuntu
Install apps in ubuntuInstall apps in ubuntu
Install apps in ubuntu
 
Proyectos java-con-maven
Proyectos java-con-mavenProyectos java-con-maven
Proyectos java-con-maven
 
Proyectos JAVA con maven
Proyectos JAVA con mavenProyectos JAVA con maven
Proyectos JAVA con maven
 
Virus informatico
Virus informaticoVirus informatico
Virus informatico
 
Sistema operativo GNU/Linux
Sistema operativo GNU/LinuxSistema operativo GNU/Linux
Sistema operativo GNU/Linux
 
Install odoo in windows
Install odoo in windowsInstall odoo in windows
Install odoo in windows
 
Install apps in ubuntu
Install apps in ubuntuInstall apps in ubuntu
Install apps in ubuntu
 
Hard Disk particion
Hard Disk particionHard Disk particion
Hard Disk particion
 
BIOS - UEFI
BIOS - UEFIBIOS - UEFI
BIOS - UEFI
 
Conceptos básicos de Unit Test
Conceptos básicos de Unit Test Conceptos básicos de Unit Test
Conceptos básicos de Unit Test
 
Instalacion y configuracion de Android Studio
Instalacion y configuracion de Android StudioInstalacion y configuracion de Android Studio
Instalacion y configuracion de Android Studio
 
Lenguaje de programación Java
Lenguaje de programación JavaLenguaje de programación Java
Lenguaje de programación Java
 
Unit Test con Embarcadero RAD Studio
Unit Test con Embarcadero RAD StudioUnit Test con Embarcadero RAD Studio
Unit Test con Embarcadero RAD Studio
 
Lenguaje de programación Pascal
Lenguaje de programación PascalLenguaje de programación Pascal
Lenguaje de programación Pascal
 
Creando un repositorio local en Ubuntu
Creando un repositorio local en UbuntuCreando un repositorio local en Ubuntu
Creando un repositorio local en Ubuntu
 

Dernier

2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
EncomiendasElSherpa
 
Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
GuillermoBarquero7
 

Dernier (6)

Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
 
Caso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business CentralCaso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business Central
 
Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
 
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOSESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
 
Trabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - OfimáticaTrabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - Ofimática
 

Primeros pasos con git