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:18] admin [Estados de un fichero] |
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 60: | Línea 78: | ||
* **modified** o cambios no rastreados para el commit: Son ficheros que se han modificado desde el último commit pero que aun no se han añadido para el próximo commit. | * **modified** o cambios no rastreados para el commit: Son ficheros que se han modificado desde el último commit pero que aun no se han añadido para el próximo commit. | ||
+ | <note tip> | ||
+ | La //**staged area**// en git también se llama a veces // | ||
+ | |||
+ | * 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 90: | Línea 126: | ||
git restore --staged fichero | git restore --staged fichero | ||
+ | |||
+ | < | ||
+ | También se puede usar el comando '' | ||
+ | </ | ||
+ | |||
\\ | \\ | ||
\\ | \\ | ||
- | * Para borrar un fichero y que ya no esté a partir de ahora en " | + | * Para borrar un fichero y que ya no esté a partir de ahora en " |
git rm --cached fichero. | git rm --cached fichero. | ||
+ | |||
+ | |||
\\ | \\ | ||
Línea 103: | Línea 146: | ||
git restore fichero | git restore fichero | ||
+ | < | ||
+ | También se puede usar el comando '' | ||
+ | </ | ||
\\ | \\ | ||
\\ | \\ | ||
Línea 143: | Línea 189: | ||
</ | </ | ||
+ | |||
+ | Más información: | ||
+ | * [[https:// | ||
===== Sincronización de Git ===== | ===== Sincronización de Git ===== | ||
Línea 160: | 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 175: | 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 184: | 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 322: | Línea 371: | ||
* [[https:// | * [[https:// | ||
- | ===== Moverse por commits | + | ===== Moverse por git ===== |
- | El comando '' | + | En git podemos // |
- | * Volver a un commit anterior, no se borran los siguientes commits | + | < |
- | | + | ==== Ramas ==== |
+ | Para movernos por ramas solo hay que indicar el nombre de la rama | ||
+ | |||
+ | | ||
+ | |||
+ | Si la rama es del tipo '' | ||
+ | |||
+ | git switch --detach origin/ | ||
+ | |||
+ | |||
+ | ==== 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. Hay que indicar '' | ||
+ | |||
+ | git switch --detach 2308b63 | ||
\\ | \\ | ||
Línea 333: | Línea 395: | ||
Si ahora lanzamos el comando '' | Si ahora lanzamos el comando '' | ||
- | HEAD detached at 0d588ed | + | HEAD desacoplada en 2308b63 |
- | | + | |
- | El significado de **HEAD detached** es que ahí no podemos trabajar, | + | El significado de **HEAD desacoplada** o **HEAD detached** es que ahí no podemos trabajar, |
* Para volver al commit último de la rama solo hay que poner el nombre de la rama en vez de un commit | * Para volver al commit último de la rama solo hay que poner el nombre de la rama en vez de un commit | ||
- | git checkout | + | git switch |
- | ===== reset vs checkout ===== | + | |
- | Veamos ahora una pequeña tabla que compra ambos comandos. | + | |
- | + | ||
- | + | ||
- | | ^ Ámbito | + | |
- | ^ Orden ^ Fichero | + | |
- | | '' | + | |
- | | '' | + | |
Línea 380: | 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 ===== |