Support `fixup` workflow
- Lenguaje dominante
- Rust
- Estrellas
- 22.5k
- Forks
- 774
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
**Is your feature request related to a problem? Please describe.**
I'd love a shortcut for `git commit --fixup ` from within gitui. [Here](https://dev.to/koffeinfrei/the-git-fixup-workflow-386d) is an article describing a common use case for it, but I'll give a short summary.
What this does is create a new commit with `fixup! commit message>`. You can then run `git rebase -i --autosquash` to squash the fixup commits into the target commits. This allows you to defer fixes/ammends to previous commits without messing with git history.
A nice use case is when a PR is under review. It let's you mark changes to existing commits without the reviewers losing track of what's been reviewed (as you would if you did `git commit --amend` or a rebase). Once the PR is approved you neaten the commit history using `git rebase -i --autosquash`.
**Describe the solution you'd like**
I'd like a new shortcut on the commit panel to trigger a `git commit --fixup `. e.g. `ctrl-f`. This would bring up a view similar to the `logs` panel which would allow choosing the commit to fixup.
To be clear - this would only perform `git commit --fixup ` and not `git rebase -i --autosquash`. No rebase should be involved.
**Describe alternatives you've considered**
Current workflow is:
1. Stage changes
2. Find the commit in logs view, copy the commit hash
3. Exit gitui
4. Manually `git commit --fixup `
5. Re-enter gitui, continue
**Additional context**
This was previously requested in #829 which was closed as completed - I think incorrectly as I [commented](https://github.com/extrawurst/gitui/issues/829#issuecomment-1895881991).
I've created a new issue instead of attempting to resurrect that one.
Guía de contribución
Línea de trabajo
Comienza en el panel de commits y compara su comportamiento con la vista de logs; después, sigue cómo gitui invoca git commit. La funcionalidad estará terminada cuando un atajo permita a los usuarios elegir un commit de destino y ejecutar git commit --fixup sin iniciar un rebase.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- git, rust
- Área
- cli, devtools
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 30/100