04 git y github

18
@asullom SUBMIT CONSULTING Git y Github Instalación de git, sincronización de su repositorio local con el remoto de github.com env SUBMIT CONSULTING @asullom | Angel Sullon Macalupú | 2014 | Perú

Upload: julio-suarez-estela

Post on 27-Dec-2015

105 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N G

Git y Github

Instalación de git, sincronización de su repositorio local con el remoto de github.com

env

SUBM I T C O N S U L T I N G

@asullom | Angel Sullon Macalupú | 2014 | Perú

Page 2: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GCómo funciona git?

• Git guarda (hace commit) la versión de los archivos en el repositorio local y luego recién nos permite subir (push) al repositorio remoto

Page 3: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GDescarga e instalación de Git

• Descargue de http://git-scm.com/ • Ejecute el archivo descargado «Git-1.9.2-

preview20140411.exe»• Dejar la ubicación por defecto «C:\Program

Files (x86)\Git»• Next, next hasta

Page 4: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GDescarga e instalación de Git…

• Next y espere hasta que termine la instalación y luego, en una terminal puede verificar la versión instalada.

Page 5: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GCreando un repositorio

• Usando una terminal, ingresa a la raíz de tu directorio que deseas subir al repositorio (recuerda que es al local), luego ejecuta:

$ git init$ git add . $ git commit -am "initial"

Documentación git, ir ahttp://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository

http://rogerdudler.github.io/git-guide/index.es.html http://www.edy.es/dev/docs/git-guia-rapida/

Page 6: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GPor ejemplo:

• Se creó el directorio de nombre miproyecto• Y dentro de esta carpeta se creó el archivo

requirements.txt• A esta carpeta miproyecto vamos a subirlo a git

borrar con $ rd /s miproyecto

Page 7: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GSubiendo un directorio (y todo su contenido) a git

• Antes debemos ejecutar $ git config --global user.email "[email protected]" $ git config --global user.name "Your Name"

• Revise su explorador y se creó la carpeta .git (oculto)• Ya solo falta subir a github

Page 8: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GGithub

• Github, es un repositorio git en la nube que provee las herramientas para el desarrollo colaborativo.

• En https://github.com/ existen muchos proyectos abiertos que podemos descargar gratuitamente.

• Para poder crear o colaborar (actualizar) en un proyecto debemos crear un cuenta.

• Cree su cuenta y si ya tiene uno ingrese.

Page 9: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N G

Cree un proyecto/repositorio en github con el mismo nombre que su repositorio local

Page 10: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N G

Page 11: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GSibiendo «miproyecto» a github

• $ git remote add origin https://github.com/cursotaller/miproyecto.git • $ git push -u origin master

Actualisar el browser de internet para su repositorio github

Page 12: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N G

Listo, ya tiene sincronizado su proyecto local con el remoto

Page 13: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N G

Puede editar requirements.txt o agregar más archivos y carpetas

• Vamos a subir esta actualización al repositorio remoto1° nos colocamos en la raíz del proyecto 2° indexar todos los archivos3° commint 4° conectarnos con el github5° push de la rama actual (master)

Page 14: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GSubiendo actualizaciones al github

• Como verá, como ya agregamos el repositorio remoto, ya no es necesario volver a hacerlo

Page 15: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GRepositorio remoto actualizado (2 commits)

Page 16: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GTraer el último commit del repositorio remoto

• Ejecute$git pull• O también puede especificar la rama$git pull origin <branch>• Si deseas cargar un commit en particular$git checkout <commitID>• Para regresar al último commit$git checkout master• Para regresar al último commit sobreescribiendo los

cambios locales$git checkout -f master

Page 17: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GBuenas prácticas del desarrollo colab.(GIT)

Para realizar su tarea correctamente siga los siguientes pasos:• 1ro: Obtener el último commit del repositorio remoto, i.e: actualice su

repositorio local con el remoto (pull), Si es la primera vez, clone el proyecto a su repositorio local (clone)

Cuidado: el "checkout –f master" hará que elimine los cambios locales• 2do: Realice su trabajo bajo la definición de «Hecho» y suba las

modificaciones del proyecto a su repositorio local (add ., commit –m "tarea n terminada ")

• 3ro: Antes de hacer Check-in esto es enviar su trabajo al repositorio remoto, actualice nuevamente su repositorio local (pull). Resuelva los conflictos si los hubiese (Diff/mergetool).

• 4to: Realice el Checkin (push)

• 5to: Comunique su estado según el método de trabajo indicado.

8:00h

18:00h

Page 18: 04 Git y Github

@asullom

SUBM I T C O N S U L T I N GResolviendo conflictos

En Eclipse con EGit

Paso 1. Antes de iniciar la tarea hacer PullPaso 2. Desarrollar la tareaPaso 2. Antes de subir la tarea volver a hacer PullPaso 3. Checkout conflict with files: .. ir a SyncPaso 4. Resolver conflicto, SavePaso 5. Rebuild o volver a ejecutarPaso 6. CommitPaso 7. En Synchronize volver a hacer PullPaso 8. borra manualmente los <<<<HEAD ... Paso 9. Marcar como resueltoPaso 10. Commit AND push

En Netbeans81.Pull from Stream2. Tarea3.Pull from Stream4.Press boton "Review" y no "Reset"5.Abrir Diff Local Changes to origin/master6.Corregir manualmente (no se adiciona como en eclipse)7.Save8.Add9.Commit10.Pull11.Merge o rebase igual se llega a resolver manualmente el conflicto12.OK, luego Yes, automáticamente se borra los <<<<HEAD ... esas cosas, en eclipse hay que hacerlo manualmente13.Add14.Commit15.PushPLTT: Usar eclipse, admás el PyDev tiene bondades para hacer debug a los test unitarios