uso practico de git
TRANSCRIPT
Ruben Egiguren (keopx)22/01/2016
Acerca de keopxDrupal Developer, Software Libre enthusiast, new technologies and geek
Ruben Egiguren a.k.a. keopxProfesional: www.isarea.com
Blog: www.keopx.net
Drupal: www.drupal.org/u/keopx
Miembro de:
• Drupal Association• Asociación Española de Drupal• G.D.O Basque Country• …
FreelanceDrupal Developer
Índice➢ Introducción
➢Git básico
➢ Veamos un ejemplo
Introducción
Qué es git
WikipediaGit es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente.
Página oficialGit es un software libre y gratuito. Se trata de un sistema de control de versiones distribuido diseñado para manejar todo, desde pequeños proyectos a proyectos muy grandes con velocidad y eficiencia.
Introducción
5
Git Básico
Requisitos
Instalar git en el equipo: https://git-scm.com/book/es/v1/Empezando-Instalando-GitTener una cuenta de git en uno de los sitios:● GitHub: https://github.com/● BitBucket: https://bitbucket.org/
Repositorio de prueba:● https://github.com/keopx/practical-git
Git básico
7
Configurar git
● $ git config --global user.name "Ruben Egiguren"● $ git config --global user.email [email protected]● $ git config --global merge.tool [el programa que
queramos, yo usaria: meld]● $ git config --global color.ui true● $ git config --global core.pager cat● $ ssh-keygen -t rsa -C "keopx"● $ copiar ~/.ssh/id_rsa.pub en github.com● $ ssh [email protected]
Git básico
8
Crear un proyecto
● $ mkdir nombreDir ● $ cd nombreDir ● $ git init ● $ git remote add origin git@direcion_al_repo.git
○ Por ejemplo: ■ git remote add origin [email protected]:
keopx/practical-git.git
Git básico
9
Clonar un proyecto
● git clone URL/PATH ○ Por ejemplo:
■ git clone [email protected]:keopx/practical-git.git○ Por ejemplo:
■ git clone https://usuario:password@dominio:puerto/keopx/practical-git.git
Git básico
10
Operaciones de añadido y borrado de archivos
● Añadido (también vale para actualizar un fichero existente, no solo tiene que ser nuevo)○ $ git add archivo(s)
● Borrado○ $ git rm archivo(s)
Git básico
11
Hacer un commit de nuestro código
● Estas línea puede cambiar, si tenemos nuevos archivos:
● $ git add [archivo(s)] ○ para todo: .
● $ git commit -m "comentario del commit" ○ Si no, un commit normal seria esto para archivos
existentes, modificados o borrados (no añadidos) ● $ git commit -avm "comentario del commit" ● $ git push origin master
Git básico
12
Operaciones de añadido y borrado de archivos
● git clone URL/PATH ○ Por ejemplo:
■ git clone [email protected]:keopx/practical-git.git● $ cd nombreDir ● $ git init ● $ git remote add origin git@direcion_al_repo.git
○ Por ejemplo: ■ git remote add origin [email protected]:
keopx/practical-git.git
Git básico
13
Actualizar proyecto (desde remoto)
● $ git pull origin [rama] ○ Por ejemplo:
■ git pull origin master● Aclaración
○ `pull` es lo mismo que `fetch` + `merge`
Git básico
14
Ramas● Consultar ramas:
○ $ git branch -s● Crear rama:
○ $ git branch [rama]● Borrar rama (en local):
○ $ git branch -D [rama]● Borrar rama (en remoto):
○ $ git push origin :[rama]● Cambiar de rama:
○ $ git checkout [rama]● Mezclar (merge) una rama en la actual(en la que estamos
situados):○ $ git merge [otra rama]
● Rebasar (rebase) una rama en la actual(en la que estamos situados):
● $ git rebase [otra rama]
Git básico
15
Tags
● Crear Tag en estado actual del repositorio (HEAD de la rama):○ git tag -a v0.0.1 -m 'version 0.0.1' ○ git show v0.0.1 //verificar el tag ○ git push --tags` //para subirlo al repo remoto
● Crear Tag en estado diferente al actual del repositorio:○ git log --pretty=oneline
■ Buscamos el hash que queremos para el Tag ■ Elegimos el checksum y se la metemos al comando del tag
○ git tag -a v0.0.1 be576e01ef430cb0890c2ef28f827f7a422614b0 -m "v0.0.1"
Git básico
16
Veamos un ejemplo
Eskerrik asko
19
GNU/GPL Licence
Experts in Drupal solutions | Web: www.isarea.com | Telefono: +34.630.100.444 | Email: [email protected]
FreelanceDrupal Developer
Ruben Egiguren (keopx)