Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
| tech:git:start [20/01/2025 01:48] – [ficheros] mate | tech:git:start [10/07/2025 06:06] (actual) – [todo] mate | ||
|---|---|---|---|
| Línia 3: | Línia 3: | ||
| == related | == related | ||
| - | {{topic> | + | === cursos |
| + | {{topic> | ||
| + | === + info | ||
| + | {{NEWPAGE> | ||
| + | {{topic> | ||
| * [[tech: | * [[tech: | ||
| * [[tech: | * [[tech: | ||
| + | * [[tech: | ||
| == cheatsheet | == cheatsheet | ||
| Línia 21: | Línia 26: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| == todo | == todo | ||
| <callout type=" | <callout type=" | ||
| Línia 26: | Línia 34: | ||
| <callout type=" | <callout type=" | ||
| <callout type=" | <callout type=" | ||
| - | * git-config condicional | + | <callout type=" |
| - | + | ||
| - | == config | + | |
| - | * ubicación: | + | |
| - | * system : / | + | |
| - | * global : ~/ | + | |
| - | * repo : .git/ | + | |
| - | * <code bash>git config --list --show-origin</code> | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | + | ||
| - | == otros | + | |
| - | * [[tech: | + | |
| - | * [[tech: | + | |
| - | * [[tech: | + | |
| - | + | ||
| - | == errores | + | |
| - | * [[tech: | + | |
| - | == tips | + | |
| - | * HEAD == @ | + | |
| - | * HEAD^ : commit anterior al HEAD | + | |
| - | * HEAD@{1.month} | + | |
| - | * - (guión) : te devuelve a la rama que acabas de dejar | + | |
| - | + | ||
| - | == comandos interesantes | + | |
| - | * [[tech: | + | |
| - | * [[tech: | + | |
| - | * [[tech: | + | |
| - | * [[tech: | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | + | ||
| - | === git fetch VS git pull | + | |
| - | * git pull = git fetch (+ git checkout) + git merge | + | |
| - | * modo seguro:< | + | |
| - | git log --oneline main..origin/ | + | |
| - | git checkout main | + | |
| - | git log origin/ | + | |
| - | git merge origin/ | + | |
| - | + | ||
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | === ramas | + | |
| - | <code bash renombrado rama en local y remoto> | + | |
| - | git checkout < | + | |
| - | git push -u origin < | + | |
| - | git push origin :< | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash mover rama, trayendo solo los commits que se hayan realizado > | + | |
| - | git ck -b rama_destino | + | |
| - | git cherry-pick < | + | |
| - | git push origin rama_destino # envíamos los cambios | + | |
| - | git push origin : | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash traer los cambios de rama develop a la actual> | + | |
| - | git pull --rebase origin develop | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash comandos con TAGs> | + | |
| - | git tag [-l] | + | |
| - | git show < | + | |
| - | git tag -a <TAG> -m "< | + | |
| - | git push origin <TAG> # subir tag a remoto | + | |
| - | git -d <tag> # borrar tag local | + | |
| - | git push --delete origin <TAG> # borrado tag en remoto | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash actualizar listado ramas> | + | |
| - | git remote update origin --prune | + | |
| - | git branch -a | + | |
| - | </ | + | |
| - | /via: [[https:// | + | |
| - | + | ||
| - | <code bash (ohshitgit) Sacar commit de una rama para llevarlo a una nueva> | + | |
| - | git branch nueva-rama | + | |
| - | git reset HEAD~ --hard | + | |
| - | git checkout nueva-rama | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash (ohshitgit) Commit en rama equivocada> | + | |
| - | # deshaz el útlimo commit, pero deja los cambio disponibles | + | |
| - | git reset HEAD~ --soft | + | |
| - | git stash | + | |
| - | # muevete a la rama correcta | + | |
| - | git checkout nombre-de-la-rama-correcta | + | |
| - | git stash pop | + | |
| - | git add . # or add individual files | + | |
| - | git commit -m "your message here"; | + | |
| - | # ahora tus cambios estan en la rama correcta | + | |
| - | </ | + | |
| - | <code bash (ohshitgit) Commit en rama equivocada - cherry-pick> | + | |
| - | git checkout nombre-de-la-rama-correcta | + | |
| - | # coge el último commit de master | + | |
| - | git cherry-pick master | + | |
| - | # borralo de master | + | |
| - | git checkout master | + | |
| - | git reset HEAD~ --hard | + | |
| - | </ | + | |
| - | + | ||
| - | === pequeños cambios en commits (no push) | + | |
| - | <code bash (ohshitgit) agregar cambios al último commit> | + | |
| - | git commit --amend --no-edit</ | + | |
| - | + | ||
| - | <code bash (ohshitgit) cambiar mensaje último commit> | + | |
| - | === retroceder o cambiar el pasado(rebase/ | + | |
| - | <code bash (ohsgitgit) todo lo hecho, en todas las ramas> | + | |
| - | <code bash (ohsgitgit) vuelta atrás> | + | |
| - | <code bash cambiar el mensaje de un commit (el último -1) > | + | |
| - | git rebase -i HEAD^ # y marcar con reword | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash; fusionar varios commits > | + | |
| - | git rebase -i < | + | |
| - | git rebase -i HEAD~n # los últimos n | + | |
| - | # marcar con SQUASH aquellos que queramos fusionar, dejando el mayor ancestro como destinatario de todos ellos | + | |
| - | # git push origin < | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash anular último commit (se pierde)> | + | |
| - | git rebase -i HEAD^ # y marcar con drop | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash anular último commit dejando en working area> | + | |
| - | git reset HEAD~1 | + | |
| - | </ | + | |
| - | + | ||
| - | === ficheros | + | |
| - | <code bash; recuperar un fichero > | + | |
| - | git checkout < | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash (ohshitgit) recuperar un fichero > | + | |
| - | # busca el hash del commit anterior de cuando se cambio el archivo | + | |
| - | git log | + | |
| - | # usa las flechas para moverte para arriba y abajo en la historia | + | |
| - | # una vez que encontraste el commit, guarda su hash | + | |
| - | git checkout [hash guardado] -- path/ | + | |
| - | # la version anterior del archivo estará en tu index | + | |
| - | git commit -m "Waw, no tienes que hacer copiar-pegar para deshacer" | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash ficheros modificados en commit concreto> | + | |
| - | git log --oneline --max-count=10 | + | |
| - | git diff-tree --no-commit-id --name-only -r < | + | |
| - | git show --pretty="" | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash seguir traza cambios a fichero> | + | |
| - | git log --follow -p -- < | + | |
| - | git log --stat < | + | |
| - | </ | + | |
| - | * https:// | + | |
| - | <code bash>git whatchanged [< | ||
| - | * [[https:// | ||
| - | * mantenido por razones históricas | ||
| - | ==== diferencias entre commits | ||
| - | * (ohshitgit) diferencias de ficheros en **staged**:< | ||
| - | * diferencia de ficheros entre dos commits:< | ||
| - | * generar ZIP con ficheros cambiados entre 2 commits:< | ||
| - | * / | ||
| - | ==== recuperar | ||
| - | * localizar fichero: <code bash>git log -- < | ||
| - | * recuperar fichero: <code bash>git checkout < | ||
| - | * [[https:// | ||
| - | === búsquedas | ||
| - | <code bash localizar fichero> | ||
| - | <code bash seguir traza cambios a fichero> | ||
| - | <code bash buscar ficheros y estatus> | ||
| - | * '' | ||
| - | <code bash buscar líneas de código> | ||
| - | /via: [[https:// | ||