Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Última revisión Ambos lados, revisión siguiente | ||
clase:daw:daw:1eval:tema05 [2022/12/07 12:44] admin [Moverse por commits] |
clase:daw:daw:1eval:tema05 [2023/11/24 20:07] admin [Estados de un fichero] |
||
---|---|---|---|
Línea 13: | Línea 13: | ||
{{chiste_git.png|}} | {{chiste_git.png|}} | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | Código nuestro que estas en GitHub. | ||
+ | Santificados sean tus commits. | ||
+ | Venga a nosotros tu fetch. | ||
+ | Hágase tu merge tanto en remoto como en local. | ||
+ | Danos hoy nuestro branch de cada día. | ||
+ | Perdona nuestras pulls, así como también nosotros perdonamos a los que nos pushean más rápido; | ||
+ | No nos dejes caer en los conflictos, | ||
+ | y líbranos del checkout. | ||
+ | Amén | ||
+ | ---Javier del Moral (2023) | ||
====== Instalando Git ====== | ====== Instalando Git ====== | ||
Al instalar Git en Windows hay varias opciones a tener en cuenta que explicaremos en clase. | Al instalar Git en Windows hay varias opciones a tener en cuenta que explicaremos en clase. | ||
Línea 61: | Línea 79: | ||
<note tip> | <note tip> | ||
- | La //staged area// en git también se llama a veces //cached// o //index//. Es que hay comandos que usan el modificador '' | + | La //**staged area**// en git también se llama a veces //**cached**// o //**index**// o //**arbol de trabajo**//. Es que hay comandos que usan el modificador '' |
* El comando [[https:// | * El comando [[https:// | ||
- | * El comando [[https:// | + | * El comando [[https:// |
- | * El comando [[https:// | + | * El comando [[https:// |
+ | ^ ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
</ | </ | ||
+ | |||
+ | <note tip> | ||
+ | Por defecto todos los ficheros del anterior commit ya está en el staged area, por eso para quitar un fichero de git hay que borrarlo del staged area. '' | ||
+ | </ | ||
{{: | {{: | ||
Línea 163: | Línea 189: | ||
</ | </ | ||
+ | |||
+ | Más información: | ||
+ | * [[https:// | ||
===== Sincronización de Git ===== | ===== Sincronización de Git ===== | ||
Línea 180: | Línea 209: | ||
{{: | {{: | ||
- | * Para poner en el área de trabajo una copia del último //commit// de '' | + | * Para poner en el área de trabajo una copia del último //commit// de '' |
- | git checkout | + | git switch |
\\ | \\ | ||
Línea 195: | Línea 224: | ||
\\ | \\ | ||
\\ | \\ | ||
- | * Para copiar lo que hay en el repositorio remoto en la copia del repositorio remoto, es decir en '' | + | * Para copiar lo que hay en el repositorio remoto en una rama local que es después del fetch siempre |
git fetch | git fetch | ||
Línea 204: | Línea 233: | ||
\\ | \\ | ||
- | * Para copiar lo que hay en el repositorio remoto en nuestra rama loca, es decir en '' | + | * Para copiar lo que hay en el repositorio remoto en nuestras ramas locales, es decir en '' |
git pull | git pull | ||
Línea 352: | Línea 381: | ||
git switch develop | git switch develop | ||
+ | Si la rama es del tipo '' | ||
+ | git switch --detach origin/ | ||
==== Commits ==== | ==== Commits ==== | ||
- | Podemos movernos a un commit anterior de forma que los ficheros de ese commit estén en nuestro directorio de trabajo. El lanzar esta orden no modifica ningún commit.Su utilidad es ver como estaba el código en estados anteriores. | + | Podemos movernos a un commit anterior de forma que los ficheros de ese commit estén en nuestro directorio de trabajo. El lanzar esta orden no modifica ningún commit.Su utilidad es ver como estaba el código en estados anteriores. Hay que indicar '' |
git switch --detach 2308b63 | git switch --detach 2308b63 | ||
Línea 373: | Línea 404: | ||
git switch master | git switch master | ||
- | ===== reset vs checkout ===== | ||
- | Veamos ahora una pequeña tabla que compra ambos comandos. | ||
- | |||
- | |||
- | | ^ Ámbito | ||
- | ^ Orden ^ Fichero | ||
- | | '' | ||
- | | '' | ||
Línea 411: | Línea 434: | ||
git config --global credential.helper store | git config --global credential.helper store | ||
+ | | ||
+ | | ||
+ | ===== Stash ===== | ||
+ | Hay veces que queremos guardar temporalmente los cambios para después volver a ellos, por ejemplo si queremos cambiar de rama. | ||
+ | |||
+ | git contiene una orden para hacer eso que es '' | ||
+ | |||
+ | * Guardar solo lo que está en la //stage area//. | ||
+ | <sxh bash > | ||
+ | git stash push | ||
+ | </ | ||
+ | |||
+ | |||
+ | * Guarda todos los ficheros aunque NO estén en la //stage area//. Es decir, también los ficheros nuevos | ||
+ | git contiene una orden para hacer eso: | ||
+ | <sxh bash> | ||
+ | git stash push --all | ||
+ | </ | ||
+ | |||
+ | |||
+ | Y si luego queremos recuperar los cambios se hace con: | ||
+ | |||
+ | <sxh bash> | ||
+ | git stash pop | ||
+ | </ | ||
+ | |||
===== Log ===== | ===== Log ===== |