Sto iniziando a giocare con git hooks e mi piacerebbe crearne uno per impedire a uno sviluppatore di creare un nuovo ramo su uno specifico ramo. L'attuale processo nella nostra azienda è destinata ad assomigliare a questo:Git hook per impedire la creazione di nuovi rami da rami specifici
git checkout master
git fetch
git reset --hard origin/master
git checkout -b [branch name]
do awesome things.
Tuttavia, di tanto in tanto quando si spostano rapidamente, alcuni sviluppatori finiscono per iniziare questo nuovo ramo da un pronti contro termine messa in scena. Quale causa di dolore.
Così, mi piacerebbe creare un gancio di interrompere quando uno sviluppatore inizia a creare un nuovo ramo, controllare ciò ramo sono su, e sia exit 1
se il ramo non è master
(o semplicemente generalmente fermare l'azione se il nome del ramo è staging
) o diversamente.
Edit:
Come cerco più su questo, mi rendo conto che voglio un gancio pre-out, che non sembra esistere. A meno che qualcuno non abbia un'idea migliore, procederò a stampare un avvertimento molto grande in un hook post-checkout se lo scenario sopra descritto dovesse passare.
Anche in questo caso, perché si vuole evitare ramificazione? – jman
Il nostro ramo di staging contiene un sacco di codice che non vorremmo essere spinto alla produzione, necessariamente. – hookedonwinter