GNU/Linux >> Linux Esercitazione >  >> Linux

Tracciare le modifiche di Crontab con Git?

Vorrei usare git per tenere traccia delle modifiche in crontab .

Ho inizializzato un nuovo repository git in /var/spool/cron/crontabs/

Ora il problema è che quando crontab viene salvato, la seconda riga dell'intestazione cambia perché contiene timestamp.

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.ubNueW/crontab installed on Thu Aug  1 06:29:24 2019)

Quale sarebbe il modo più semplice per ignorare queste modifiche irrilevanti?

La possibile domanda duplicata non affronta il punto principale della mia domanda:come ignorare le prime 2 righe irrilevanti da crontab. Risponde invece ad altre domande che non ho posto, come alcuni hook.

Risposta accettata:

Potresti usare un filtro:

git config filter.dropSecondLine.clean "sed '2d'"

Modifica/crea .git/info/attributes e aggiungi:

* filter=dropSecondLine

Se non vuoi che il filtro agisca su tutti i file nel repository, modifica * in modo che corrisponda a un pattern o nome file appropriato.

L'effetto sarà che la directory di lavoro rimarrà la stessa, ma i BLOB di repository non avranno la seconda riga nei file. Quindi se lo tiri verso il basso altrove la seconda riga non apparirà (il risultato del sed 'd2'). E se modifichi la seconda riga del tuo file di registro sarai in grado di aggiungerla, ma non eseguirne il commit, poiché la modifica al blob avviene su add, a quel punto sarà lo stesso file di quello nel repository.


Linux
  1. Ordina con l'ordinamento dalla riga di comando

  2. Eseguire una linea di comandi con un sudo?

  3. Contando i caratteri di ogni riga con Wc?

  4. sed inserisce una riga con spazi in una riga specifica

  5. Sostituisci utente gitolite3 con git

Iniziare con GIT su Linux

Comando Diff in Linux con esempi

Tracciare il tempo con Timewarrior alla riga di comando

Capire Crontab in Linux con esempi

Installazione e primi passi con Git

Come controllare la versione con Git sulla riga di comando