2012-10-22 10 views
5

Ho un repository ospitato su GitHub con diverse forcelle.Come impostare receive.denyNonFastForwards su un repository in GitHub

Come posso impostare la configurazione del repository principale per impostare il flag receive.denyNonFastForwards in modo che il repository principale può accettare solo spinte che sono avanti veloce e rifiuterà qualsiasi avanti non veloci anche se sono --forced

risposta

9

GitHub non espone questa funzionalità, anche se ci sono due opzioni:

  • Il supporto GitHub può impostare questo su un repository.

  • È possibile emulare questo impostando il repository GitHub come mirror di un altro repository su cui si ha maggiore controllo. Fornire l'accesso in scrittura all'account GitHub solo a un numero minimo di individui responsabili e a un account utilizzato per eseguire il mirroring. Il repository non GitHub dovrebbe essere il punto in cui impostare receive.denyNonFastForwards e spingere tutti. Il mirroring può quindi essere eseguito mediante un hook post-receive, cron job o una combinazione dei due. Un motivo per entrambi sarebbe quello di ottenere un intervallo di tempo minimo tra i due repository e assicurarsi che tutto sia aggiornato anche se l'hook post-receive non è riuscito ad aggiornare GitHub (se GitHub era inattivo, ad esempio).

+1

Mentre ciò sembra corretto, sono stato in grado di farlo impostare GitHub per nostro conto contattando il team di supporto e chiedendo che fosse fatto. –

+0

Buono a sapersi. Modificheremo la risposta per menzionare il supporto di GitHub. –

Problemi correlati