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 | ||
clase:daw:daw:1eval:tema05 [2024/09/22 20:06] admin [Stash] |
clase:daw:daw:1eval:tema05 [2025/05/21 09:59] (actual) admin [Log] |
||
---|---|---|---|
Línea 157: | Línea 157: | ||
También se puede añadir el argumento '' | También se puede añadir el argumento '' | ||
- | | | '' | + | ^ |
- | | Restaura el fichero en el //área de trabajo// | + | | '' |
- | | | + | | '' |
+ | | '' | ||
+ | | '' | ||
</ | </ | ||
Línea 271: | Línea 272: | ||
* Para //mergear// lo que hay en la rama '' | * Para //mergear// lo que hay en la rama '' | ||
- | git merge origin/ | + | git merge --ff-only |
\\ | \\ | ||
Línea 290: | Línea 291: | ||
* Para añadir un nuevo remote | * Para añadir un nuevo remote | ||
- | git remote add otroservidor | + | git remote add nombreminuevoremote |
Una vez creado el remote '' | Una vez creado el remote '' | ||
Línea 387: | Línea 388: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | |||
+ | ===== Deshacer commits ===== | ||
+ | Una vez que hemos subido un commit a GitHub es una muy mala práctica borrar un commit sin embargo si queremos deshacer algo , podemos usar '' | ||
+ | |||
+ | |||
+ | * Se hace un nuevo commit que deshace el último commit | ||
+ | |||
+ | git revert HEAD~1 | ||
+ | |||
+ | * Prepara un nuevo commit que deshace el último commit pero sin realmente hacer el commit. Lo que hace el modificar los ficheros y añadirlos a la //staged area// | ||
+ | |||
+ | |||
+ | git revert --no-commit HEAD~1 | ||
+ | git commit -am " | ||
+ | |||
+ | |||
+ | <note tip>La opción '' | ||
+ | |||
+ | Si no estamos interesados en hacer el commit lo podemos abortar con '' | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | En caso de un conflicto se deberá resolver el conflicto en el fichero, hacer el '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | <note tip> | ||
+ | La diferencia entre '' | ||
+ | |||
+ | |||
+ | |||
+ | * Estado inicial de | ||
+ | |||
+ | < | ||
+ | %%{init: { ' | ||
+ | gitGraph | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | * Si hacemos un '' | ||
+ | |||
+ | < | ||
+ | %%{init: { ' | ||
+ | gitGraph | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | * Si hacemos un '' | ||
+ | |||
+ | < | ||
+ | %%{init: { ' | ||
+ | gitGraph | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
===== Moverse por git ===== | ===== Moverse por git ===== | ||
Línea 458: | Línea 527: | ||
git contiene una orden para hacer eso que es '' | git contiene una orden para hacer eso que es '' | ||
- | * Guardar solo lo que está en la //stage area//. | + | * Guardar solo lo modificado (estén o no en el //staged |
<sxh bash > | <sxh bash > | ||
git stash push | git stash push | ||
Línea 466: | Línea 535: | ||
* Guarda todos los ficheros aunque NO estén en la //stage area//. Es decir, también los ficheros nuevos. Y al hacer el '' | * Guarda todos los ficheros aunque NO estén en la //stage area//. Es decir, también los ficheros nuevos. Y al hacer el '' | ||
<sxh bash> | <sxh bash> | ||
- | git stash push --include-untracked | + | git stash push --include-untracked |
</ | </ | ||
Línea 473: | Línea 542: | ||
| Los ficheros modificados (estén o no en el //staged area// | | Los ficheros modificados (estén o no en el //staged area// | ||
| Los ficheros nuevos | | ✓ | ✓ | | | Los ficheros nuevos | | ✓ | ✓ | | ||
- | | Los ficheros | + | | Los ficheros ignorados | | | ✓ | |
Y si luego queremos recuperar los cambios se hace con: | Y si luego queremos recuperar los cambios se hace con: | ||
+ | |||
+ | <sxh bash> | ||
+ | git stash pop | ||
+ | </ | ||
+ | |||
+ | * Pero en el caso de hubiera algo en el //staged area// se tendría que hacer con el argumento '' | ||
<sxh bash> | <sxh bash> | ||
Línea 483: | Línea 558: | ||
</ | </ | ||
- | <note tip> | ||
- | Si no se añade '' | ||
- | </ | ||
===== Log ===== | ===== Log ===== | ||
El comando '' | El comando '' | ||
Línea 509: | Línea 581: | ||
{{: | {{: | ||
+ | * Ver el árbol de commits | ||
+ | git log --graph --oneline --decorate --all | ||
+ | ===== Diff ===== | ||
+ | Permite ver la diferencia entre dos //objetos// de git, como commits y ramas o working area. | ||
+ | * Vemos la diferencia entre el último commit '' | ||
+ | git diff HEAD HEAD^ | ||
+ | | ||
+ | * Vamos la diferencia entre las ramas '' | ||
+ | git diff master release | ||
+ | | ||
+ | * Las diferencias entre tu área de trabajo (working area) y el último commit (HEAD) | ||
+ | |||
+ | git diff | ||
+ | | ||
+ | * Los cambios en tu directorio de trabajo, tanto los que están en staging como los que no. | ||
+ | |||
+ | git diff HEAD | ||
+ | |||
+ | Más información: | ||
+ | * [[https:// | ||
+ | |||
+ | ===== Show ===== | ||
+ | Permite ver que cambió al hacer un commit concreto además de mostrar sus medatatos. | ||
+ | |||
+ | |||
+ | git show HEAD | ||
+ | |||
+ | |||
+ | |||
+ | La diferencia entre '' | ||
+ | |||
+ | Más información: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ===== Blame ===== | ||
+ | El comando '' | ||
+ | |||
+ | Lo que hace es mostrar, linea a linea el fichero, pero al principio de cada línea indica el commit , el usuario y la fecha de la última persona que modificó esa línea | ||
+ | |||
+ | |||
+ | git blame Fichero.java | ||
+ | |||
+ | Si no quieres que te muestra todas las líneas sino solo una concretas , se usa: | ||
+ | |||
+ | git blame -L 10,20 Fichero.java | ||
+ | | ||
+ | | ||
+ | Más información: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
===== Mensajes de commit ===== | ===== Mensajes de commit ===== | ||
Los mensajes de commit deben seguir el siguiente formato: | Los mensajes de commit deben seguir el siguiente formato: | ||
Línea 555: | Línea 678: | ||
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||