Update from obsidian - thinkpad
Affected files: .obsidian/app.json .obsidian/graph.json .obsidian/plugins/obsidian-omnivore/data.json .obsidian/plugins/update-time-on-edit/data.json 01. Projects/Fuuka/Outline.md 01. Projects/Juuno/Outline.md 01. Projects/Renuncia/Renuncia.md 02. Areas/Dotfiles/dotfiles tasks.md 02. Areas/Escape Latam/Canada.md 02. Areas/Escape Latam/Comparación de Paises.md 02. Areas/Escape Latam/Escapar de Latam.md 02. Areas/Escape Latam/New Zeldand.md 03. Resources/Development/Feature shipment checklist.md 03. Resources/Development/Fix messy commits.md 03. Resources/Development/Git.md 03. Resources/Development/Iframes.md 03. Resources/Development/Revert old changes in a codebase.md 03. Resources/Development/Search for a bug.md 03. Resources/Notetaking/Habits.md Read Later/2024-02-12 - Debouncing in JavaScript – Explained by Building Auto-Complete Functionality in React.md notes/Git.md
This commit is contained in:
parent
c82f170ec4
commit
c84ad03d4c
21 changed files with 573 additions and 61 deletions
25
03. Resources/Development/Fix messy commits.md
Normal file
25
03. Resources/Development/Fix messy commits.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
created: 2024-02-20 11:27
|
||||
updated: 2024-02-20 11:31
|
||||
tags:
|
||||
- dev-tools
|
||||
---
|
||||
# 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.
|
||||
|
||||
Como alternativa se puede intentar actualizar el historial remoto siempre y cuando el historial sea igual al local (osea, nosotros fuimos los últimos en actualizarlo y nadie ha hecho nada más). Para esto utilizamos `git push --force-with-lease`.
|
||||
|
||||
## 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 estrategias 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue