Diferencia entre revisiones de «Usuario:ManuelRomero/Git»
De WikiEducator
(→Instalado zsh) |
|||
(10 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 2: | Línea 2: | ||
<div class="slides layout-regular template-default"> | <div class="slides layout-regular template-default"> | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
+ | |||
+ | ===Referencias=== | ||
+ | <br /> | ||
+ | {{Recursos de la Web| | ||
+ | *https://www.codecademy.com/es/learn/learn-git | ||
+ | *https://github.com/domnikl/DesignPatternsPHP | ||
+ | *https://github.com/ziadoz/awesome-php | ||
+ | *https://medium.freecodecamp.com/7-git-hacks-you-just-can-t-ignore-41aea137727a#.1zxxt4xwl(edited) | ||
+ | *Hoja resumen muy buena https://rogerdudler.github.io/git-guide/files/git_cheat_sheet.pdf | ||
+ | }} | ||
===Qué es Git=== | ===Qué es Git=== | ||
[[Imagen:logoGit.png|200px|center]] | [[Imagen:logoGit.png|200px|center]] | ||
Línea 11: | Línea 22: | ||
*Esto implica que podemos establecer '''''estados''''' o '''''versiones''''' y podemos, en un momento dado, '''recuperar''' ese fichero o conjunto de ficheros a una versión concreta. | *Esto implica que podemos establecer '''''estados''''' o '''''versiones''''' y podemos, en un momento dado, '''recuperar''' ese fichero o conjunto de ficheros a una versión concreta. | ||
*Esto también conlleva intrínsecamente copias de seguridad (Una por cada versión). | *Esto también conlleva intrínsecamente copias de seguridad (Una por cada versión). | ||
+ | *Con git puedo (debo) tener una copia del proyecto en un momento dado en mi local a partir de un servidor donde está el código del proyecto. Después de trabajar en local lo volveré a dejar en el servidor | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
Línea 35: | Línea 47: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
===Funcionamiento de Git=== | ===Funcionamiento de Git=== | ||
*Funciona como un sistema descentralizado | *Funciona como un sistema descentralizado | ||
*Cada vez que guardamos cambios hace una copia del proyecto tal cual está | *Cada vez que guardamos cambios hace una copia del proyecto tal cual está | ||
− | *Si algún fichero no tuvo ningún cambio desde la última versión simplemente se hace un enlace | + | *Si algún fichero no tuvo ningún cambio desde la última versión simplemente se hace un enlace al archivo anterior |
− | + | *Este concepto se conoce como hacer una foto instantáea de tu proyecto snapshots. | |
+ | https://git-scm.com/book/en/v2/book/01-introduction/images/snapshots.png | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
*Esta es una importante diferencia con otros sistemas de gestión de versiones tipo Subversion que almacena los cambios de los fichero del proyecto en cada versión del mismo y no el fichero completo. | *Esta es una importante diferencia con otros sistemas de gestión de versiones tipo Subversion que almacena los cambios de los fichero del proyecto en cada versión del mismo y no el fichero completo. | ||
− | + | https://git-scm.com/book/en/v2/book/01-introduction/images/deltas.png | |
+ | ;Git funciona en local. | ||
+ | *Esto da mucha rapidez en las operaciones y mucha flexibilidad para trabajar. | ||
+ | *En la mayoría de otros CVS, dependemos de la red y un servidor para poder trabajar | ||
*Usar git te garantiza que puedes retornar a cualquir versión de tu proyecto en cualquier momento. Esto en mas de una ocasión te generará una sensación de alivio inigualable. | *Usar git te garantiza que puedes retornar a cualquir versión de tu proyecto en cualquier momento. Esto en mas de una ocasión te generará una sensación de alivio inigualable. | ||
+ | </div> | ||
+ | <div class="slide"> | ||
===Los tres estados de GIT=== | ===Los tres estados de GIT=== | ||
+ | *Cuando trabajamos con git, establecemos un directorio para especificar el conjunto de ficheros que queremos controlar | ||
+ | *Vamos a pensar que es el proyecto sobre el cual vamos a realizar la gestión de versión | ||
+ | *Cada fichero de ese proyecto va a tener uno de tres estados posibles (En lo que se refiere a su control con git) | ||
+ | *'''''Confirmado''''' es un estado de un fichero que ya ha sido subido a nuestro repositorio o bien que acabamos de clonar de él | ||
+ | *'''''Modificado''''' cuando un fichero es modificado en local pasa a este estado | ||
+ | *'''''Preparado''''' Es un fichero modificado y preparado para ser subido a un repositorio | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | {{Puntos clave|;Estado de cada fichero de un proyecto de git | ||
+ | ;Confirmado | ||
+ | :Fichero réplica de lo que está en el repositorio y no ha sido modificado en local | ||
+ | ;Modificado: | ||
+ | :Fichero modificado en local | ||
+ | ;Preparado: | ||
+ | :Fichero modificado en local y preparado para subir al repositorio | ||
+ | ;}}* | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ===Navegación entre los estados=== | ||
+ | [[Archivo:navegacionEstadosGit.png]] | ||
+ | |||
+ | <div class="slide"> | ||
+ | ===Instalando git=== | ||
+ | ;desde el repositorio | ||
+ | sudo apt-get install git | ||
+ | ;Actulizando git | ||
+ | *Desde el repositorio de git | ||
+ | git clone git://git.kernel.org/pub/scm/git/git.git | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ===Configurando git=== | ||
+ | *Ver opciones de configuracion | ||
+ | git config | ||
+ | *Ficheros de configuracion: | ||
+ | #Para todos los usuarios del sistema y todos sus repositorios '''''/etc/gitconfig''''' | ||
+ | #Para el usuario actualmente conectado en local '''''$HOME/.config/git/config''''' | ||
+ | #Para el repositorio actual ./.git/config | ||
+ | ;Configurando usuarios | ||
+ | ;nombre | ||
+ | git config --global user.name Manuel | ||
+ | ;Direccion de correo | ||
+ | git config --global user.mail ManuelRomeroMiguel@gmail.com | ||
+ | ;Editor | ||
+ | git config --global core.editor vim | ||
+ | ;Ver el valor de parámetros configurados | ||
+ | git config --list | ||
+ | ;Ver un valor concreto | ||
+ | git config <palabre> | ||
+ | git config user.name | ||
+ | ;Obtener ayuda | ||
+ | git help <palabre> | ||
+ | ===Iniciar el trabajo con git=== | ||
+ | ;Iniciar el proyecto con git | ||
+ | *En el directorio a gestionar | ||
+ | git init | ||
+ | *Ahora existe un directorio llamado .git donde está el repositorio local | ||
+ | |||
+ | ===Creando un repositorio de un proyecto=== | ||
+ | ;En el | ||
+ | :Ver configuracion | ||
===Instalado zsh=== | ===Instalado zsh=== | ||
− | <source lang= | + | <source lang=bash> |
#sudo apt-get install zsh | #sudo apt-get install zsh | ||
....... | ....... |