PDF de programación - Taller de Git - Clase 1 - Comandos

Imágen de pdf Taller de Git - Clase 1 - Comandos

Taller de Git - Clase 1 - Comandosgráfica de visualizaciones

Publicado el 16 de Julio del 2019
278 visualizaciones desde el 16 de Julio del 2019
257,7 KB
27 paginas
Creado hace 5a (16/10/2013)
Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

Taller de Git

Clase 1 - Comandos

Fernando López

LINTI

Facultad de Informática

Universidad Nacional de la Plata

16 de Octubre de 2013

Fernando López

Taller de Git

Indice

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

1 Primeros pasos

2 Moviendonos en la historia

3 Remotos

Fernando López

Taller de Git

Links

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• http:

//lihuen.linti.unlp.edu.ar/index.php?title=Git

• http://git-scm.com/book

Fernando López

Taller de Git

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

Git

• Sistema de control de versiones
• Distribuido

• Cada usuario tiene toda la historia.
• El comando git no tiene que consultar nada a ningún

servidor.

• Caso kernel.org

"The code for the kernel - and for many other projects - is managed with the ’git’

source code management system. And git does not allow the code to be modified

by third parties without people knowing about it."

Fernando López

Taller de Git

Instalación y configuración

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• apt-get install git
• Cada commit queda registrado con nuestro nombre y

e-mail:
g i t
g i t

c o n f i g −−g l o b a l u s e r . name " Pipo ॷ Perez "
c o n f i g −−g l o b a l u s e r . e m a i l " p p e r e z @ s e r v i d o r . com"

• Resaltado con colores:
c o n f i g −−g l o b a l

g i t

c o l o r . u i auto

• Nuestro editor favorito para escribir los commits:

g i t

c o n f i g −−g l o b a l

c o r e . e d i t o r vim

• Un comando muy útil:

g i t

c o n f i g −−g l o b a l a l i a s . u n s t a g e

' r e s e t HEAD −−'

Fernando López

Taller de Git

Primer repositorio

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• Creá un directorio con el nombre octocats.
• Convertí ese directorio en un repositorio Git:

mkdir o c t o c a t s
cd o c t o c a t s
g i t
g i t

i n i t
s t a t u s

Fernando López

Taller de Git

Primer repositorio
Las buenas prácticas

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• En general cada repositorio tiene un archivo README.
• GitHub y GitLab lo renderizan.
• ¡Se convierte en la página principal del proyecto!

https://github.com/mozilla/pdf.js

• Mínimamente tiene una descripción del proyecto, guía de

instalación y links relevantes.

• Si el archivo se llama README.md puede tener formato

con markdown.
v i README. md
g i t

s t a t u s

Fernando López

Taller de Git

¿Untracked, Staged, qué?

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

Fernando López

Taller de Git

Working directory, Staging area, repository

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

f e r n a n d o @ n e t b o o k :~/ g i t / t a l l e r _ g i t $ l s −a
.
imagenes M a k e f i l e

. g i t m o d u l e s

r e v e a l . j s

s r c

. .

. g i t

. g i t i g n o r e

• taller_git → working directory
• taller_git/.git/index → staging area
• taller_git/.git → repository

Fernando López

Taller de Git

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

Agregando contenido

• Creá un archivo de texto favorito.txt y escribí en él el

nombre de tu octocat favorito
(http://octodex.github.com/).

• Por ejemplo:

Jean-Luc Picat

• git status
• git add favorito.txt
• git status
• git add README.md
• git status

Fernando López

Taller de Git

Aplicar los cambios al repositorio

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• git commit
• $ g i t
s t a t u s

# On branch master
n o t h i n g to commit ( w o rk i n g d i r e c t o r y c l e a n )

Fernando López

Taller de Git

Agregar la url

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• Agregá en favorito.txt el link a la imagen del octocat,

por ejemplo:
Jean-Luc Picat - http://octodex.github.com/images/jean-luc-picat.jpg

• Hacé el commit de los cambios.
• git status
• Agregá en favorito.txt otro octocat con su link.
• Hacé el commit de los cambios.
• git log

Fernando López

Taller de Git

Agregar la URL
Logs

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• Logs → git log
• Cambios → git whatchanged
• Diferencia del último commit → git show
• Direrencia con el commit indicado → git diff <hash>

Fernando López

Taller de Git

Logs
Alias útiles

• Grafo:

c o n f i g −−g l o b a l a l i a s . l o l

g i t
−−p r e t t y=o n e l i n e −−abbrev−commit '

' l o g −−graph −−d e c o r a t e

• Grafo con todos los branches:

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

c o n f i g −−g l o b a l a l i a s . l o l a

g i t
−−p r e t t y=o n e l i n e −−abbrev−commit −− a l l −−d a t e=l o c a l '

' l o g −−graph −−d e c o r a t e

Fernando López

Taller de Git

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

Revertir cambios

• Los versionadores permiten revertir cambios.
• Todos los cambios que hayamos hecho con su

correspondiente commit están en la historia del versionador.

• Incluso los archivos borrados.
• +----+----+
C
^- Commit actual

B

A

• Todos los commits tienen un hash que los identifica.
• Para moverse entre commits se usa

git checkout <hash>.

Fernando López

Taller de Git

Revertir cambios
Ejemplo

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• Volvemos al commit anterior:

g i t

c h e c k o u t <hash_del_commit_anterior>

• Vamos al último commit:

g i t

c h e c k o u t <hash_del_commit_má s_nuevo>

• Se puede abreviar:

g i t

c h e c k o u t 2 bb833b

Fernando López

Taller de Git

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

Commits con nombre

• HEAD es el commit más reciente de la rama actual.
• master es la rama que se crea por defecto en git (en

nuestro caso es la única).

B

A

• +----+----+
C
^- (master, HEAD)
• HEAD~1 es el commit anterior (B)
• HEAD~2 es el anterior a ese, etc... (A)
• Vamos a hacer lo mismo que el slide pasado pero más fácil.

Fernando López

Taller de Git

Commits con nombre
Ejemplo

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• De nuevo vamos al commit anterior:

g i t

c h e c k o u t HEAD~1

• O lo que es lo mismo:

g i t

c h e c k o u t 2 bb833b~1

• Volvemos al commit más nuevo (no podemos usar HEAD

porque lo cambiamos):
g i t

c h e c k o u t master

Fernando López

Taller de Git

Commits con nombre
Tags

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• Las etiquetas indican un commit importante.
• Generalmente una versión publicada del producto.
• En git simplemente son un commit con nombre.
• Vamos a etiquetar el último commit como versión 1.0.

g i t
g i t

c h e c k o u t master
tag 1 . 0

• Podemos ver los tags: git tag.
• Podemos usarlos para movernos entre commits:

g i t
g i t

c h e c k o u t HEAD~1
c h e c k o u t 1 . 0

Fernando López

Taller de Git

¿Cómo trabajo con otra persona?

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• Hasta ahora trabajamos de forma local.
• Podemos subir los repositorios a un servidor.
• Precisamos una cuenta en

https://gitlab.linti.unlp.edu.ar o en
https://github.com.

Fernando López

Taller de Git

Protocolos

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• Github y Gitlab admiten 2 protocolos:

• SSH
• HTTPS

• SSH es el más cómodo pero requiere una configuración

previa.

• HTTPS es el único que funciona en la red 511-alumnos.

Fernando López

Taller de Git

Configuración de SSH

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

Debemos hacer este procedimiento en los equipos que usemos
para desarrollar.

• Crear un par de claves ssh para nuestro usuario:

ssh-keygen.

• Podemos optar por ponerle password o no a la clave

privada.

• Copiar nuestra clave pública en nuestro perfil de

Github/Gitlab (todo menos la dirección de “e-mail” del
final).
$ c a t ~/. s s h / i d _ r s a . pub
ssh−r s a AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA f e r n a n d o @ f e r n a n d o

Fernando López

Taller de Git

Subir nuestro código a un servidor

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• Vía web crear un repositorio octocats.
• En nuestro repositorio agregar la url que generó

Github/Gitlab como “remoto”.
remote add o r i g i n <u r l >
g i t

• Subir todos los cambios:

g i t push −u o r i g i n master

• El -u va solamente la primera vez, pone origin master

por default para los push y pull.

Fernando López

Taller de Git

Repositorios compartidos

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• Pasamos a trabajar con otro repo.
• Podemos descargarlo con clone.
• Subimos cambios con push.
• Descargamos cambios con pull.
• Hagan git clone de:

git@gitlab.linti.unlp.edu.ar:lihuen/octocat_viewer.git
o de
git@github.com:fernandolopez/octocat_viewer.git

Fernando López

Taller de Git

Repositorios compartidos
Trabajando

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

• mostrar.py tiene varios errores, cada uno debe corregir 1

o 2 errores y subir los cambios al servidor.

• Se considera que alguien corrigió un error si hay un push

que lo avale.

Fernando López

Taller de Git

Taller de Git

Fernando

López

Primeros
pasos

Moviendonos
en la historia

Remotos

Ejemplos de status

Local:

• Untracked files
• Changes not staged for commit
• Change
  • Links de descarga
http://lwp-l.com/pdf16301

Comentarios de: Taller de Git - Clase 1 - Comandos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad