No sé exactamente cómo describirlo en términos de Git, pero lo que hago es:
pick 34ea25a Add a search box f 9c4b283 fix
Guarda el file
Pero me gustaría automatizar eso, entonces ¿cómo puedo usar git rebase sin tener que abrir un editor?
En primer lugar, si sabes que vas a aplastar tu próximo commit cuando lo hagas, puedes usar git commit --amend
en git commit --amend
lugar. Aquí hay un flujo de trabajo de ejemplo:
$ git commit -am "Add a search box" $ vim file1.c # fix something $ git commit --amend file1.c
El modo interactivo de Git, como su nombre lo sugiere, está diseñado para uso interactivo. Sin embargo, puede hacerlo utilizando la variable de entorno GIT_SEQUENCE_EDITOR
o la opción de configuration sequence.editor
. Ambos funcionan de la misma manera: puedes establecerlos en algún script que obtenga un file rebase interactivo estándar como input. Su salida se usará para la rebase actual. Puedes ver alguna sugerencia sobre cómo usarlo en esta pregunta .
Mi primera solución es simple y solo funciona si tienes una twig limpia, es decir, no hay files sin seguimiento, y solo para la última confirmación.
Agregue un script de shell a una carpeta en su PATH
como ~/bin
y ~/bin
nombre git-reword
– git-reword
ejecutable.
#!/bin/bash if [ -z "$1" ]; then echo "Message missing" exit 0 fi git reset --soft HEAD^1 git commit -am "$1"
En su repository ahora puede escribir
$ git reword "new message"