Git Pull Automatico

È possibile installare uno script per automatizzare le operazioni da eseguire dopo ogni git pull. Basta scaricare il file installer nella cartella root del progetto e poi eseguire i seguenti comandi:

chmod +x installer.sh
./installer.sh

L'installer crea il file post-merge all'interno di .git/hooks/ contenente al suo interno le operazioni da eseguire in automatico.

Cosa succede?

Quando si fa un pull con git, vengono eseguite due operazioni:

  • git fetch per sincronizzare il repository con origin
  • git merge per fare il merge dei contenuti in locale

Tutte le volte che avviene un git merge, lo script post-merge appena creato viene eseguito. Se il git pull non trova modifiche su origin, o se la merge fallisce per un conflitto tra i file, post-merge non viene chiamato e bisogna eseguire le operazioni necessarie manualmente.

Che comandi vengono eseguiti?

Lo script è strutturato con in mente un progetto Laravel. Vengono quindi eseguiti i comandi:

composer update
vessel start
vessel art migrate
vessel art db:seed

Come si modifica lo script?

Per modificare le operazioni da eseguire, basta cambiare il contenuto del file .git/hooks/post-merge.