git - gitlab

Download Git - Gitlab

If you can't read please download the document

Upload: euler-sanchez

Post on 27-Jun-2015

796 views

Category:

Technology


3 download

TRANSCRIPT

  • 1. Repositorio para la FS GIT ENOVA

2. Qu es GIT? SW de control de versiones. Empez en 2005. Creado por Linus Torvalds. 3. El flujo de trabajo bsico en Git es algo as: 1. Modificas una serie de archivos en tu directorio de trabajo. 2. Preparas los archivos, aadindolos a tu rea de preparacin. 3. Confirmas los cambios, lo que toma los archivos tal y como estn en el rea de preparacin, y almacena esas instantneas de manera permanente en tu directorio de Git. 4. Recordar: Si una versin concreta de un archivo est en el directorio de Git, se considera confirmada (committed). Si ha sufrido cambios desde que se obtuvo del repositorio, pero ha sido aadida al rea de preparacin, est preparada (staged). Y si ha sufrido cambios desde que se obtuvo del repositorio, pero no se ha preparado, est modificada (modified). 5. $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettextlibz-dev Compilar e instalar $ tar -zxf git-1.6.0.5.tar.gz $ cd git-1.6.0.5 $ make prefix=/usr/local all $ sudo make prefix=/usr/local install $ apt-get install git 6. Configurando GIT por primera vez $ git config --global user.name "Francisco Escandon" $ git config --global user.email [email protected] Tu editor Tu configuracin $ git config --global core.editor emacs Comprobando tu configuracin $ git config --list user.name=Francisco Escandon [email protected] color.diff=auto ... 7. Obteniendo Ayuda $ git help $ git --help $ man git- Por ejemplo, puedes ver la pgina del manual para el comando config ejecutando: $ git help config 8. Obteniendo un repositorio GIT Inicializando un repositorio en un directorio existente $ git init Clonando un repositorio existente $ git clone http://10.250.0.6/enovadevelopers/capacitacion-git.git $ git clone [email protected]:enovadevelopers/capacitacion-git.git dir 9. Recordar Cada archivo de tu directorio de trabajo puede estar en uno de estos dos estados: bajo seguimiento (tracked), o sin seguimiento (untracked). Los archivos bajo seguimiento son aquellos que existan en la ltima instantnea; pueden estar sin modificaciones, modificados, o preparados. Los archivos sin seguimiento son todos los dems cualquier archivo de tu directorio que no estuviese en tu ltima instantnea ni est en tu rea de preparacin. La primera vez que clonas un repositorio, todos tus archivos estarn bajo seguimiento y sin modificaciones, ya que los acabas de copiar y no has modificado nada. 10. $ git status # On branch master nothing to commit (working directory clean) Comprobando el estado de tus archivos $ git status En la rama master Your branch is up-to-date with 'origin/master'. Archivos sin seguimiento: (use git add ... para incluir lo que se ha de ejecutar) programa2.php no se ha agregado nada al commit pero existen archivos sin seguimiento (use git add para darle seguimiento) Si agregamos un archivo (programa2.php) 11. Seguimiento de nuevos archivos $ git add programa2.php Seguimiento de nuevos archivos $ git add programa2.php $ git status En la rama master Your branch is up-to-date with 'origin/master'. Cambios para hacer commit: (use git reset HEAD ...para eliminar stage) new file: programa2.php 12. Ignorando archivos $ cat .gitignore *.[oa] *~ Confirmando tus cambios Cualquier cosa que todava est sin preparar cualquier archivo que hayas creado o modificado, y sobre el que no hayas ejecutado git add desde su ltima edicin no se incluir en esta confirmacin. $ git commit $ git commit -m "Se aade el programa2.php que ... " [master fd017e4] Se aade el programa2.php al repositorio 1 file changed, 5 insertions(+) create mode 100644 programa2.php 13. Saltndote el rea de preparacin Si quieres saltarte el rea de preparacin, Git proporciona un atajo. Pasar la opcin -a al comando git commit hace que Git prepare todo archivo que estuviese en seguimiento antes de la confirmacin, permitindote obviar toda la parte de git add $ git commit -a -m 'ae agregan cambios de ...' [master 83e38c7] added new benchmarks 1 files changed, 5 insertions(+), 0 deletions(-) 14. Eliminando archivos Para eliminar un archivo de Git, debes eliminarlo de tus archivos bajo seguimiento o de tu rea de preparacin y despus confirmar. $ rm programa2.php $ git status # On branch master # # Changes not staged for commit: # (use "git add/rm ..." to update what will be committed) # # deleted: programa2.php # $ git rm programa2.php rm 'programa2.php' $ git status # On branch master # # Changes to be committed: # (use "git reset HEAD ..." to unstage) # # deleted: programa2.php # 15. Viendo el histrico de confirmaciones (git log) $ git log commit fd017e49af8429fb20711ce67f0bdfa53640e8a5 Author: euler.sanchez Date: Mon Apr 28 15:07:41 2014 -0500 Se aade el programa2.php al repositorio commit 343a08c7a7a346eb9b5b8972deb3470b0ed90ae1 Author: victor.barrientos Date: Tue Apr 22 15:44:18 2014 -0500 Se agrego un echo commit 56abe6f29fb6c2097880d329f1d840bddd1a3167 Author: euler.sanchez Date: Tue Apr 22 15:15:41 2014 -0500 Calcula el factorial de 5 commit 1acc24637f1c943e45259e680690ef583ec31b50 Author: euler.sanchez Date: Tue Apr 22 14:32:21 2014 -0500 First commit 16. Trabajando con repositorios remotos Colaborar con otros implica gestionar estos repositorios remotos, y mandar (push) y recibir (pull) datos de ellos cuando necesites compartir cosas. $ git remote -v originhttp://10.250.0.6/enovadevelopers/capacitacion- git.git Creando repositorios mkdir test cd test git init touch README git add README git commit -m 'first commit' git remote add origin [email protected]:enovadevelopers/test.git git push -u origin master 17. $ git push origin master Username for 'http://10.250.0.6': euler.sanchez Password for 'http://[email protected]': Counting objects: 4, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 371 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To http://10.250.0.6/enovadevelopers/capacitacion-git.git 343a08c..fd017e4 master -> master 18. Qu es una rama? $ git add README test.rb LICENSE $ git commit -m 'initial commit of my project' Vamos a suponer, por ejemplo, que tienes una carpeta con tres archivos, que preparas (stage) todos ellos y los confirmas (commit). 19. Si haces ms cambios y vuelves a confirmar, la siguiente confirmacin guardar un apuntador a esta su confirmacin precedente. Una rama Git es simplemente un apuntador mvil apuntando a una de esas confirmaciones. La rama por defecto de Git es la rama 'master'. 20. En cada confirmacin de cambios que realicemos, la rama ir avanzando automticamente. Y la rama 'master' apuntar siempre a la ltima confirmacin realizada. Si quieres crear una nueva rama denominada "testing". Usars el comando 'git branch' $ git branch testing 21. Cmo sabe Git en qu rama ests en este momento? R = Mediante el apuntador HEAD Recordar: El comando git branch solamente crea una nueva rama, y no salta a dicha rama. 22. $ git checkout testing Para saltar de una rama a otra se utiliza git checkout. Esto mueve el apuntador HEAD a la rama 'testing' 23. Si ahora ejecutamos lo siguiente: $ vim programa3.php $ git commit -a -m 'Se hace un cambio' 24. La rama 'testing' avanza, mientras que la rama 'master' permanece en la confirmacin donde estaba cuando lanzaste el comando 'git checkout' para saltar. $ git checkout master 25. Mueve el apuntador HEAD de nuevo a la rama 'master', y revierte los archivos de tu directorio de trabajo; dejndolos tal y como estaban en la ltima instantnea confirmada en dicha rama 'master'. 26. GITLAB esta instalado en 10.250.0.6 Usuarios: francisco.escandon Password: 123456789 27. GitLab is used in more than 100,000 organizations https://www.gitlab.com/ 28. Fuentes: http://git-scm.com/book/es/Empezando https://www.gitlab.com/ https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg 29. Gracias