git auto commit and push using crontab.gmi

[IMG]

[1]

`git.sh`

Desde 2011 que tengo mis *bash scripts* genéricos versionados en un *repo* `git` privado en el directorio `~/bin` y cada tanto algunos de ellos maduran lo suficiente y pasan a formar parte de algún nuevo *repo* público en *Codeberg* ^1[2], *GitLab* ^2[3] o *GitHub* ^3[4].

Pero mientras estos *scripts* están en `~/bin` me despreocupo de realizar *commits*, es decir se autoversionan usando el *crontab* y un *script* llamado `git.sh` ^4[5].

Gracias al *plugin* `vim-gutter` ^5[6] puedo diferenciar rápidamente que líneas cambié hace 5 minutos, lo cual ayuda bastante cuando estoy refactorizando algo sobre la marcha.

`crontab`

Aadapto `git.sh` a las necesidades puntuales de cada *repo* y `crontab` se ocupa de ejecutar `git.sh` cada *5 minutos* y listo! si sucede algo con mi *notebook*, a lo sumo perdí *5 minutos* y mantengo un historial versionado de todos los archivos imporantes, entre ellos estan *logs*, *configs*, *passwords*, *journal*, *calendar* y por supuesto mis preciados *scripts* `:)`


*/5 * * * * $HOME/log/git.sh
*/5 * * * * $HOME/bin/git.sh
*/5 * * * * $HOME/config/git.sh
*/5 * * * * $HOME/.password-store/git.sh
*/5 * * * * $HOME/.jrnl/git.sh
*/5 * * * * $HOME/git/osiux/wip/git.sh
*/5 * * * * $HOME/env/cal/git.sh

`bin-bash-utils`

Si no recuerdo mal, la idea de autoversionar la obtuve del excelente y recomendado `Organize Your Life In Plain Text!` ^6[7] cuando usaba a diario `org-mode` ^7[8].

Viendo que pasaron *12 años* desde que comencé a versionar `~/bin`, aprovecho hoy para iniciar la versión pública de `~/bin` en el *repo* `bin-bash-utils` ^8[9] con esos *scripts* genéricos que todavían no tuvieron suerte para que los publique agrupados en algún otro *repo* público. Por ahora solo con `git.sh` `XD`

ChangeLog

1: file:img/git-auto-commit-and-push-using-crontab.png
2: https://codeberg.gmi/osiux/
3: https://gitlab.com/osiux/
4: https://github.com/osiris/
5: https://gitlab.com/osiux/bin-bash-utils/-/blob/master/git.sh
6: https://github.com/airblade/vim-gitgutter
7: http://doc.norang.ca/org-mode.html#GitSync
8: https://orgmode.gmi/
9: https://gitlab.com/osiux/bin-bash-utils/
10: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/efb99af538669cf00bab9239b41a20b82400f2a1
11: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/66a94803d0dd84a2fb89919059834af5d57fd43f