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 [17/05/2023 06:01] – [related] mate | tech:git:start [09/05/2025 04:09] (actual) – [related] mate | ||
---|---|---|---|
Línia 6: | Línia 6: | ||
* [[tech: | * [[tech: | ||
* [[tech: | * [[tech: | ||
+ | * [[tech: | ||
== cheatsheet | == cheatsheet | ||
Línia 47: | Línia 48: | ||
* [[tech: | * [[tech: | ||
* [[tech: | * [[tech: | ||
+ | |||
+ | == errores | ||
+ | * [[tech: | ||
== tips | == tips | ||
* HEAD == @ | * HEAD == @ | ||
Línia 59: | Línia 63: | ||
* [[tech: | * [[tech: | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
- | <code bash; renombrado rama en local y remoto> | + | === 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 checkout < | ||
git push -u origin < | git push -u origin < | ||
Línia 66: | Línia 84: | ||
</ | </ | ||
- | <code bash; mover rama, trayendo solo los commits que se hayan realizado > | + | <code bash mover rama, trayendo solo los commits que se hayan realizado > |
git ck -b rama_destino | git ck -b rama_destino | ||
git cherry-pick < | git cherry-pick < | ||
Línia 73: | Línia 91: | ||
</ | </ | ||
- | <code bash; recuperar un fichero > | + | <code bash traer los cambios de rama develop a la actual> |
- | git checkout < | + | |
- | </ | + | |
- | + | ||
- | <code bash; traer los cambios de rama develop a la actual> | + | |
git pull --rebase origin develop | git pull --rebase origin develop | ||
</ | </ | ||
- | <code bash; comandos con TAGs> | + | <code bash comandos con TAGs> |
git tag [-l] | git tag [-l] | ||
git show <tag> | git show <tag> | ||
Línia 90: | Línia 104: | ||
</ | </ | ||
- | <code bash; ficheros modificados en commit concreto> | + | <code bash actualizar listado ramas> |
- | git log --oneline --max-count=10 | + | git remote update origin |
- | git diff-tree --no-commit-id --name-only -r < | + | git branch |
- | git show --pretty="" | + | |
</ | </ | ||
+ | /via: [[https:// | ||
- | <code bash; seguir traza cambios | + | <code bash (ohshitgit) Sacar commit de una rama para llevarlo |
- | git log --follow | + | git branch nueva-rama |
+ | git reset HEAD~ --hard | ||
+ | git checkout nueva-rama | ||
</ | </ | ||
- | <code bash; actualizar listado ramas> | + | <code bash (ohshitgit) Commit en rama equivocada> |
- | git remote update origin | + | # deshaz el útlimo commit, pero deja los cambio disponibles |
- | git branch -a | + | git reset HEAD~ --soft |
+ | git stash | ||
+ | # muevete | ||
+ | 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 | ||
</ | </ | ||
- | /via: [[https:// | + | <code bash (ohshitgit) Commit en rama equivocada |
+ | 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/ | === retroceder o cambiar el pasado(rebase/ | ||
- | <code bash; cambiar el mensaje de un commit (el último -1) > | + | <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 | git rebase -i HEAD^ # y marcar con reword | ||
</ | </ | ||
Línia 118: | Línia 155: | ||
</ | </ | ||
- | <code bash; anular último commit (se pierde)> | + | <code bash anular último commit (se pierde)> |
git rebase -i HEAD^ # y marcar con drop | git rebase -i HEAD^ # y marcar con drop | ||
</ | </ | ||
- | <code bash; anular último commit dejando en working area> | + | |
+ | <code bash anular último commit dejando en working area> | ||
git reset HEAD~1 | git reset HEAD~1 | ||
</ | </ | ||
=== ficheros | === 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 | ==== diferencias entre commits | ||
+ | * (ohshitgit) diferencias de ficheros en **staged**:< | ||
* diferencia de ficheros entre dos commits:< | * diferencia de ficheros entre dos commits:< | ||
* generar ZIP con ficheros cambiados entre 2 commits:< | * generar ZIP con ficheros cambiados entre 2 commits:< | ||
Línia 134: | Línia 203: | ||
* recuperar fichero: <code bash>git checkout < | * recuperar fichero: <code bash>git checkout < | ||
* [[https:// | * [[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:// |