2012-08-31 18 views
51

Se creo un nuovo script di hook nel mio repository locale in repo/.git/hooks/post-commit e quindi eseguo "git push" sono gli hook premuti sul telecomando? Quindi, quando gli altri sviluppatori eseguono "git pull" dalla stessa origine, riceveranno i miei nuovi ganci?I git git vengono spinti sul telecomando quando "spingo"?

+3

Forse questo aiuto http://stackoverflow.com/questions/3462955/putting-git-hooks-into-repository – Stony

+0

Grazie, è stata la mia prossima domanda. :) – slacy

risposta

47

N. I ganci sono per repository e non vengono mai inseriti. Allo stesso modo, neanche la configurazione del repository è stata inserita, né lo è in .git/info o un numero di altre cose.

Spingendo e tirando solo scambi rami/tag e commit oggetti (e qualsiasi cosa raggiungibile da un commit, ad es. Alberi, blob).

+3

C'è un modo per avere gli hook in centrale e farli tirare su ogni clone e applicati. – f1wade

33

No, i git hook non vengono spinti o tirati, poiché non fanno parte del codice del repository.

Fare riferimento a the documentation per un elenco di semplici hook lato client e lato server.

Se si desidera abilitare alcuni hook per tutti i client che eseguono clonazione o estrazione da un determinato repository, è necessario aggiungere i hook alla base di codice e quindi creare il proprio script per copiarli o collegarli a partire da repo/.git/hooks/.

+3

ma come viene chiamato lo script di copia? –

+5

@AdamJohns Viene chiamato dall'utente/sviluppatore, probabilmente nella forma di un 'setup.sh' che lo sviluppatore esegue quando prima clona il repository. Dopo questo, gli aggiornamenti ai ganci possono avvenire automaticamente con un hook che esegue nuovamente uno script che li aggiorna dopo ogni pull, ad esempio. Quindi non devi fare affidamento sullo sviluppatore per farlo da solo. – cm92

Problemi correlati