gitui-org / gitui-org/gitui

Support `fixup` workflow

Abierto
#2,019 8 comentarios 9 reacciones 0 asignados Ver en GitHub
feature-request
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.