Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
tech:git:start [20/01/2025 00:19] – [comandos interesantes] matetech:git:start [09/05/2025 04:09] (actual) – [related] mate
Línia 6: Línia 6:
   * [[tech:git:server]]   * [[tech:git:server]]
   * [[tech:git:curs]]   * [[tech:git:curs]]
 +  * [[tech:git:repo-lectura]]
  
 == cheatsheet == cheatsheet
Línia 109: Línia 110:
 /via: [[https://stackoverflow.com/questions/36358265/when-does-git-refresh-the-list-of-remote-branches]] /via: [[https://stackoverflow.com/questions/36358265/when-does-git-refresh-the-list-of-remote-branches]]
  
 +<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>
 +
 +<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>
 +<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
 +</code>
 +
 +=== pequeños cambios en commits (no push)
 +<code bash (ohshitgit) agregar cambios al último commit>git add .
 +git commit --amend --no-edit</code>
 +
 +<code bash (ohshitgit) cambiar mensaje último commit>git commit --amend</code>
 === retroceder o cambiar el pasado(rebase/reset) === retroceder o cambiar el pasado(rebase/reset)
 +<code bash (ohsgitgit) todo lo hecho, en todas las ramas>git reflog # cada entrada tiene un HEAD@{index}</code>
 +<code bash (ohsgitgit) vuelta atrás>git reset HEAD@{index}</code>
 <code bash cambiar el mensaje de un commit (el último -1) > <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 132: Línia 166:
 <code bash; recuperar un fichero > <code bash; recuperar un fichero >
 git checkout <COMMIT|HEAD|HEAD^> <path_file> git checkout <COMMIT|HEAD|HEAD^> <path_file>
 +</code>
 +
 +<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/to/file
 +# la version anterior del archivo estará en tu index
 +git commit -m "Waw, no tienes que hacer copiar-pegar para deshacer"
 </code> </code>
  
Línia 151: Línia 195:
  
 ==== diferencias entre commits ==== diferencias entre commits
 +  * (ohshitgit) diferencias de ficheros en **staged**:<code bash>git diff --staged</code>
   * diferencia de ficheros entre dos commits:<code bash>git diff --name-only SHA1 SHA2</code>   * diferencia de ficheros entre dos commits:<code bash>git diff --name-only SHA1 SHA2</code>
   * generar ZIP con ficheros cambiados entre 2 commits:<code bash>git archive --output=file.zip HEAD $(git diff --name-only SHA1 SHA2)</code>   * generar ZIP con ficheros cambiados entre 2 commits:<code bash>git archive --output=file.zip HEAD $(git diff --name-only SHA1 SHA2)</code>
  • tech/git/start.1737361188.txt.gz
  • Darrera modificació: 20/01/2025 00:19
  • per mate