master-wiki/notes/Git.md

29 lines
No EOL
1.2 KiB
Markdown

---
created: 2024-02-20 12:23
updated: 2024-02-20 12:23
---
## Merge strategies
![Notes](Git%20Merge%20vs%20Rebase%20vs%20Squash%20¿Qué%20estrategia%20debemos%20elegir-.md#Notes)
## Buscar cuando un bug se introdujo
Utilizar `git bisect`
## Fix messy commits
Ya que estas opciones sobre escriben el historial de git, solo deben aplicarse en local y no commits publicados a un remote.
### Last commit
Si solo necesitamos agregar un cambio pequeño al ultimo commit (typo o correr el formatter), podemos aplicarlo con `git commit --ammend`, se puede sobre escribir el mensaje con `-m`.
### Mutiple commits
Se pueden arreglar el historial de commits con un `git rebase -i [since commit or branch]` y utilizar las estratégias de pick, squash, reword y drop.
En caso de que sepamos que haremos un commit que luego no necesitaremos, podemos hacer:
- `git commit --fixup [commit hash]` -> descarta el commit message de este commit y mantiene el del commit de referencia
- `git commit --squash [commit hash]` -> git juntará los mensajes de todos los commits a hacer squash y el commit de referencia.
Finalmente podemos hacer `git rebase -i --autosquash` y git eligirá las opciones necesarias a tomar en vez de tener que hacerlo de manera manual.