Come faccio a creare un cron job che impegna le modifiche del mio progetto su git su base settimanale


8

Sto usando git allo scopo di fare una trascrizione storica delle modifiche apportate al mio progetto. Capisco che non è l'uso ideale, ma è il modello di utilizzo che ho scelto per vari motivi che non affronterò per brevità.

Come potrei creare un cron job che commetterebbe le modifiche al repository ogni giorno o settimana?

Sto usando l'ultima versione di Git su Ubuntu 10.10.

Risposte:


9
0 20 * * 0 /path_to_script

Ciò eseguirà il comando specificato (sostituisci /path_to_script') alle 20:00 ora locale ogni domenica. La sintassi per i lavori cron è abbastanza semplice e c'è uno strumento fluido che ti aiuterà a crearli senza ricordare le posizioni del codice.

In questo caso, il comando dovrebbe essere uno script che esegue il commit per te. Penso che sarebbe più semplice nel tuo caso scrivere uno script di shell rapido per passare alla directory del clone e quindi eseguire il commit. Crea un file su ~/commit.she inseriscilo (sostituendolo /location/of/clone, ovviamente)


#!/bin/sh
cd /location/of/clone
git-commit -m "commit message, to avoid being prompted interactively"

Quindi chmod +x ~/commit.shper renderlo eseguibile e far eseguire il processo cron (facendo riferimento ad esso tramite il suo percorso completo, anziché usando ~).


Buona risposta. Tieni presente che il cronjob (ovviamente) viene eseguito solo se il computer è in esecuzione all'ora specificata (ad esempio, domenica 20:00).
pableu,

come posso farlo fare anche il push sul server?
Jason,

Inoltre, come faccio ad aggiungere file che ho aggiunto
Jason

Basta aggiungere git-push allo script per farlo inviare anche al server. È possibile utilizzare l'opzione -a per git-commit per aggiungere automaticamente tutti i file che sono stati modificati o eliminati.
jcrawfordor,

1
Non vuoi aggiungere -aa al comando commit, quindi aggiungerà automaticamente tutti i file che sono già tracciati nell'area di gestione temporanea?
Dror

2

Esegui crontab -eper modificare il tuo cronjob utente e inserisci questa riga:

0 20 * * 0 (cd /path/to/myproject && git add . && git commit -m "Automatic Commit" && git push)

Ovviamente dovrai configurare il tuo repository GIT incluso un repository remoto funzionante, ma non rientra nell'ambito di questa domanda.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.