È possibile utilizzare il gancio pre-push
(dal git 1.8.2).
Il gancio pre-push può controllare il codice di uscita di git status
, restituendo 0 (OK per premere) se git status
restituisce un valore diverso da zero, altrimenti restituisce 1 (non consentire il push).
La pagina man per git-status
dice:
Se non esiste un percorso che è diverso tra il file di indice e l'attuale capo commit (vale a dire, non c'è niente di commettere eseguendo git commit), le uscite di comando con stato diverso da zero.
Qualsiasi repository creato con git 1.8.2 o successivo avrà pre-push.sample
nella directory .git/hooks
, che è un utile punto di partenza per l'implementazione della politica. Esistono altri buoni esempi di utilizzo del gancio pre-push
qui: http://blog.ittybittyapps.com/blog/2013/09/03/git-pre-push/
Si noti che il gancio non viene eseguito sul repository upstream. Ogni clone avrebbe bisogno di avere questo gancio installato, per far rispettare la tua politica. (I ganci non sono clonati come parte del repository Poiché i ganci vengono eseguiti da git, questo design previene gli hook dannosi in esecuzione sul computer di uno sviluppatore. Il codice dannoso dovrebbe invece entrare in un Makefile o configurare uno script, che gli sviluppatori eseguono senza guardare.)
fonte
2010-05-14 00:52:02
Chiedi ai tuoi sviluppatori di prestare maggiore attenzione? La lavorazione degli utensili non è sempre la soluzione. –
Dai al repository git un po 'di colore e insegna ai tuoi sviluppatori "git add". "git status" e "git add -A" –