SlideShare una empresa de Scribd logo
Git y Github básico
@nelsonkewebs
Temario.
1. ¿Que es git y github?
2. Un poco de historia.
3. Instalación de git.
4. Configuración básica.
5. Algunos comandos y para que funcionan.
6. Los tres estados.
7. Buenas prácticas.
8. Fuentes.
1.¿Qué es Git y
Github?
https://git-scm.com/images/logos/downloads/Git-Logo-2Color.png https://i1.wp.com/linuxnewbieguide.org/wp-
content/uploads/2017/03/github-logo.png?ssl=1
1. ¿Qué es git y github?
“Git es un sistema de control de versiones distribuidas de código abierto y gratuito
diseñado para manejar todo, desde proyectos pequeños a muy grandes, con
velocidad y eficiencia.”
https://git-scm.com/
“GitHub es una plataforma de desarrollo inspirada en la forma en que trabajas.
Desde el código abierto hasta el negocio, puede alojar y revisar códigos,
administrar proyectos y crear software junto a millones de otros desarrolladores.”
https://github.com/
1. ¿Qué es git y github?
Pero, ¿qué es el control de versiones?
“El control de versiones es un sistema que registra los cambios en un archivo o
conjunto de archivos a lo largo del tiempo para que pueda recuperar versiones
específicas más tarde.”
ProGit.
2. Un poco de historia.
2. Un poco de historia.
Git fue desarrollado por uno de los grandes en la historia del software libre, Linus
Torvalds, quien buscaba un sistema de control de versiones como BitKeeper (y
Monotone, bases de git) que fuera gratuito y eficiente, sin embargo, en el
mercado no existía algo como tal. Aunque Git, en un principio no fue exactamente
un sistema de control de versión, la comunidad de desarrolladores
(principalmente) adoptaron rápidamente está tecnología gracias a sus diferentes
cualidades tales como Gestión distribuida, Gestión eficiente de proyectos
grandes, utilización de repositorios, entre otros.
Lo que vino a mejorar la manera arcaica en la que se crean carpetas con el
nombre del proyecto concatenado a una fecha y dentro copia de todos los
archivos para irlos almacenando como versiones del mismo.
3. Instalación de git.
3. Instalación de git.
Instalación de git en Linux
Debian/Ubuntu Fedora Alpine
# apt-get install git # yum install git # apk add git
Instalación de git en Windows
Basta con descargar desde la página oficial, el ejecutable de instalación y siguiente, siguiente, ...
Instalación de git en Mac
Basta con descargar desde la página oficial, el ejecutable de instalación y siguiente, siguiente, ...
Dirección para descarga de git: https://git-scm.com/downloads
3. Instalación de git.
Red Hat Enterprise Linux, Oracle Linux, CentOS, Scientific Linux, et al.
Para sistemas Red Hat y derivados debes descargar el código fuente, configurar,
compilar e instalar.
Dirección para descarga el código fuente de git: https://www.kernel.org/pub/software/scm/git/
4. Configuración
básica.
4. Configuración básica.
Antes de empezar a utilizar git, debes de hacer la siguiente configuración:
Identificate
$ git config --global user.name “Nelson Manuel”
$ git config --global user.email nelsonmanuel@outlook.com
$ git config user.name
Nelson Manuel
$ git config user.email
nelsonmanuel@outlook.com
4. Configuración básica.
¿Quieres ver más?
$ git config --list
user.name=Nelson Manuel
user.email=nelsonmanuel@outlook.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
5. Algunos comandos
y para que funcionan.
5. Algunos comandos y para que funcionan.
$ git init
Inicializa un repositorio vacío.
$ git status
Muestra el estado actual de la rama, como los cambios que hay sin commitear.
$ git add .
Comienza a trackear los archivos con cambios.
$ git commit -m “mensaje”
Registra un commit en el repositorio con un “mensaje”.
$git commit -am “mensaje”
Confirma los cambios realizados. El “mensaje” generalmente se usa para asociar al commit una breve
descripción de los cambios realizados.
5. Algunos comandos y para que funcionan.
$ git branch
Muestras la ramas existentes y en cual estamos actualmente. Pasando un nombre, se crea una rama.
$ git log
Muestra los commits realizados.
$ git checkout commit_id or branch_name
Se ubica en la versión que se registró en el commit o se hace el cambio de rama
$ git diff branch_name_one branch_name_two
Registra un commit en el repositorio con un “mensaje”.
$git clone URL
Clona un repositorio remoto en el directorio local.
6. Los tres estados.
6. Los tres estados.
Fuente: ProGit Second Edition, Scott Chanco and Ben Straub, Apress
7. Buenas prácticas.
7. Buenas prácticas.
Se deben utilizar 4 tipos de ramas: Master, Development, Features, y Hotfix.
Master:
Es la rama principal. Contiene el repositorio que se encuentra publicado en producción, por lo que debe
estar siempre estable.
Development:
Es una rama sacada de master. Es la rama de integración, todas las nuevas funcionalidades se deben
integrar en esta rama. Luego que se realice la integración y se corrijan los errores (en caso de haber
alguno), es decir que la rama se encuentre estable, se puede hacer un merge de development sobre la
rama master.
7. Buenas prácticas
Features:
Cada nueva funcionalidad se debe realizar en una rama nueva, específica para esa funcionalidad. Estas
se deben sacar de development. Una vez que la funcionalidad esté desarrollada, se hace un merge de la
rama sobre development, donde se integrará con las demás funcionalidades.
Hotfix:
Son bugs que surgen en producción, por lo que se deben arreglar y publicar de forma urgente. Es por
ello, que son ramas sacadas de master. Una vez corregido el error, se debe hacer un merge de la rama
sobre master. Al final, para que no quede desactualizada, se debe realizar el merge de master sobre
development.
Fuente: https://es.wikipedia.org/wiki/Git
8. Fuentes.
1. https://es.wikipedia.org/wiki/Git
2. https://github.com/
3. https://github.com/
4. ProGit Second Edition, Scott Chanco and Ben Straub, Apress.

Más contenido relacionado

La actualidad más candente

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
Paradigma Digital
 
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en español
Ramón Glez
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de git
Antonio Ognio
 
Git y drupal
Git y drupalGit y drupal
Git y drupal
Juampy NR
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
emateucr
 
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
Javier Novoa Cataño
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque práctico
Patxi Gortázar
 
Repositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlosRepositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlos
Roberto Carlos Flores Gomez
 
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
Carlos Huamaní
 
Más allá de Git add/commit/push
Más allá de Git add/commit/pushMás allá de Git add/commit/push
Más allá de Git add/commit/push
Alexis Lopez
 
Git: guia fácil para uso con Github
Git: guia fácil para uso con GithubGit: guia fácil para uso con Github
Git: guia fácil para uso con Github
Cristian Romero Matesanz
 
Control de versiones con Git
Control de versiones con GitControl de versiones con Git
Control de versiones con Git
Daniel Salas Denegri
 
Control de Versiones con Subversion (SVN)
Control de Versiones con Subversion (SVN)Control de Versiones con Subversion (SVN)
Control de Versiones con Subversion (SVN)
Fco Javier Lucena
 
Migrando CI a Docker
Migrando CI a DockerMigrando CI a Docker
Migrando CI a Docker
Patxi Gortázar
 
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
ferosorno
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
Pedro Hernández
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada dia
Alan Descoins
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
Max Rodriguez
 

La actualidad más candente (20)

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
 
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en español
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de git
 
Git y drupal
Git y drupalGit y drupal
Git y drupal
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
 
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
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque práctico
 
Repositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlosRepositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlos
 
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
 
Manual express de git
Manual express de gitManual express de git
Manual express de git
 
Más allá de Git add/commit/push
Más allá de Git add/commit/pushMás allá de Git add/commit/push
Más allá de Git add/commit/push
 
Git: guia fácil para uso con Github
Git: guia fácil para uso con GithubGit: guia fácil para uso con Github
Git: guia fácil para uso con Github
 
Control de versiones con Git
Control de versiones con GitControl de versiones con Git
Control de versiones con Git
 
Control de Versiones con Subversion (SVN)
Control de Versiones con Subversion (SVN)Control de Versiones con Subversion (SVN)
Control de Versiones con Subversion (SVN)
 
Migrando CI a Docker
Migrando CI a DockerMigrando CI a Docker
Migrando CI a Docker
 
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
 
Taller GitHub
Taller GitHubTaller GitHub
Taller GitHub
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada dia
 
Git & GitHub Part II
Git & GitHub Part IIGit & GitHub Part II
Git & GitHub Part II
 

Similar a Git y github básico

Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
nscoder_mad
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
Hugo Gilmar Erazo
 
Un modelo exitoso para git
Un modelo exitoso para gitUn modelo exitoso para git
Un modelo exitoso para git
Miguel Angel Piña Avelino
 
Git / Guía Básica
Git / Guía BásicaGit / Guía Básica
Git / Guía Básica
Juan Victor Minaya León
 
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
DIEGOALBERTOENRIQUEZ4
 
Git.manual.usuario
Git.manual.usuarioGit.manual.usuario
Git.manual.usuario
Henry Jiménez Sánchez
 
Git + Github - Sysmana 2014
Git + Github - Sysmana 2014Git + Github - Sysmana 2014
Git + Github - Sysmana 2014
quaip
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GIT
Keopx
 
Flujos de trabajo y mejores prácticas en git
Flujos de trabajo y mejores prácticas en gitFlujos de trabajo y mejores prácticas en git
Flujos de trabajo y mejores prácticas en git
Luis Eduardo Jiménez Robles
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
Keopx
 
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxGuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
fuenzalidarodrigo
 
Aprendiendo GIT
Aprendiendo GITAprendiendo GIT
Aprendiendo GIT
InterGraphicDESIGNS
 
Primeros pasos con git
Primeros pasos con gitPrimeros pasos con git
Primeros pasos con git
Juan Vladimir
 
Mejora tu productividad con git
Mejora tu productividad con gitMejora tu productividad con git
Mejora tu productividad con git
ch1l3no
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
José Moreno
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
maxfontana90
 
Intro a GIT
Intro a GITIntro a 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
 
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
MartinBonuccelli
 

Similar a Git y github básico (20)

Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
 
Tallerintroducciongit
TallerintroducciongitTallerintroducciongit
Tallerintroducciongit
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Un modelo exitoso para git
Un modelo exitoso para gitUn modelo exitoso para git
Un modelo exitoso para git
 
Git / Guía Básica
Git / Guía BásicaGit / Guía Básica
Git / Guía Básica
 
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.manual.usuario
Git.manual.usuarioGit.manual.usuario
Git.manual.usuario
 
Git + Github - Sysmana 2014
Git + Github - Sysmana 2014Git + Github - Sysmana 2014
Git + Github - Sysmana 2014
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GIT
 
Flujos de trabajo y mejores prácticas en git
Flujos de trabajo y mejores prácticas en gitFlujos de trabajo y mejores prácticas en git
Flujos de trabajo y mejores prácticas en git
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxGuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
 
Aprendiendo GIT
Aprendiendo GITAprendiendo GIT
Aprendiendo GIT
 
Primeros pasos con git
Primeros pasos con gitPrimeros pasos con git
Primeros pasos con git
 
Mejora tu productividad con git
Mejora tu productividad con gitMejora tu productividad con git
Mejora tu productividad con git
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
 
Intro a GIT
Intro a GITIntro a GIT
Intro a 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
 
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
 

Último

trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 

Último (20)

trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 

Git y github básico

  • 1. Git y Github básico @nelsonkewebs
  • 2. Temario. 1. ¿Que es git y github? 2. Un poco de historia. 3. Instalación de git. 4. Configuración básica. 5. Algunos comandos y para que funcionan. 6. Los tres estados. 7. Buenas prácticas. 8. Fuentes.
  • 3. 1.¿Qué es Git y Github? https://git-scm.com/images/logos/downloads/Git-Logo-2Color.png https://i1.wp.com/linuxnewbieguide.org/wp- content/uploads/2017/03/github-logo.png?ssl=1
  • 4. 1. ¿Qué es git y github? “Git es un sistema de control de versiones distribuidas de código abierto y gratuito diseñado para manejar todo, desde proyectos pequeños a muy grandes, con velocidad y eficiencia.” https://git-scm.com/ “GitHub es una plataforma de desarrollo inspirada en la forma en que trabajas. Desde el código abierto hasta el negocio, puede alojar y revisar códigos, administrar proyectos y crear software junto a millones de otros desarrolladores.” https://github.com/
  • 5. 1. ¿Qué es git y github? Pero, ¿qué es el control de versiones? “El control de versiones es un sistema que registra los cambios en un archivo o conjunto de archivos a lo largo del tiempo para que pueda recuperar versiones específicas más tarde.” ProGit.
  • 6. 2. Un poco de historia.
  • 7. 2. Un poco de historia. Git fue desarrollado por uno de los grandes en la historia del software libre, Linus Torvalds, quien buscaba un sistema de control de versiones como BitKeeper (y Monotone, bases de git) que fuera gratuito y eficiente, sin embargo, en el mercado no existía algo como tal. Aunque Git, en un principio no fue exactamente un sistema de control de versión, la comunidad de desarrolladores (principalmente) adoptaron rápidamente está tecnología gracias a sus diferentes cualidades tales como Gestión distribuida, Gestión eficiente de proyectos grandes, utilización de repositorios, entre otros. Lo que vino a mejorar la manera arcaica en la que se crean carpetas con el nombre del proyecto concatenado a una fecha y dentro copia de todos los archivos para irlos almacenando como versiones del mismo.
  • 9. 3. Instalación de git. Instalación de git en Linux Debian/Ubuntu Fedora Alpine # apt-get install git # yum install git # apk add git Instalación de git en Windows Basta con descargar desde la página oficial, el ejecutable de instalación y siguiente, siguiente, ... Instalación de git en Mac Basta con descargar desde la página oficial, el ejecutable de instalación y siguiente, siguiente, ... Dirección para descarga de git: https://git-scm.com/downloads
  • 10. 3. Instalación de git. Red Hat Enterprise Linux, Oracle Linux, CentOS, Scientific Linux, et al. Para sistemas Red Hat y derivados debes descargar el código fuente, configurar, compilar e instalar. Dirección para descarga el código fuente de git: https://www.kernel.org/pub/software/scm/git/
  • 12. 4. Configuración básica. Antes de empezar a utilizar git, debes de hacer la siguiente configuración: Identificate $ git config --global user.name “Nelson Manuel” $ git config --global user.email nelsonmanuel@outlook.com $ git config user.name Nelson Manuel $ git config user.email nelsonmanuel@outlook.com
  • 13. 4. Configuración básica. ¿Quieres ver más? $ git config --list user.name=Nelson Manuel user.email=nelsonmanuel@outlook.com color.status=auto color.branch=auto color.interactive=auto color.diff=auto
  • 14. 5. Algunos comandos y para que funcionan.
  • 15. 5. Algunos comandos y para que funcionan. $ git init Inicializa un repositorio vacío. $ git status Muestra el estado actual de la rama, como los cambios que hay sin commitear. $ git add . Comienza a trackear los archivos con cambios. $ git commit -m “mensaje” Registra un commit en el repositorio con un “mensaje”. $git commit -am “mensaje” Confirma los cambios realizados. El “mensaje” generalmente se usa para asociar al commit una breve descripción de los cambios realizados.
  • 16. 5. Algunos comandos y para que funcionan. $ git branch Muestras la ramas existentes y en cual estamos actualmente. Pasando un nombre, se crea una rama. $ git log Muestra los commits realizados. $ git checkout commit_id or branch_name Se ubica en la versión que se registró en el commit o se hace el cambio de rama $ git diff branch_name_one branch_name_two Registra un commit en el repositorio con un “mensaje”. $git clone URL Clona un repositorio remoto en el directorio local.
  • 17. 6. Los tres estados.
  • 18. 6. Los tres estados. Fuente: ProGit Second Edition, Scott Chanco and Ben Straub, Apress
  • 20. 7. Buenas prácticas. Se deben utilizar 4 tipos de ramas: Master, Development, Features, y Hotfix. Master: Es la rama principal. Contiene el repositorio que se encuentra publicado en producción, por lo que debe estar siempre estable. Development: Es una rama sacada de master. Es la rama de integración, todas las nuevas funcionalidades se deben integrar en esta rama. Luego que se realice la integración y se corrijan los errores (en caso de haber alguno), es decir que la rama se encuentre estable, se puede hacer un merge de development sobre la rama master.
  • 21. 7. Buenas prácticas Features: Cada nueva funcionalidad se debe realizar en una rama nueva, específica para esa funcionalidad. Estas se deben sacar de development. Una vez que la funcionalidad esté desarrollada, se hace un merge de la rama sobre development, donde se integrará con las demás funcionalidades. Hotfix: Son bugs que surgen en producción, por lo que se deben arreglar y publicar de forma urgente. Es por ello, que son ramas sacadas de master. Una vez corregido el error, se debe hacer un merge de la rama sobre master. Al final, para que no quede desactualizada, se debe realizar el merge de master sobre development. Fuente: https://es.wikipedia.org/wiki/Git
  • 22. 8. Fuentes. 1. https://es.wikipedia.org/wiki/Git 2. https://github.com/ 3. https://github.com/ 4. ProGit Second Edition, Scott Chanco and Ben Straub, Apress.