GIT Version Control is een onderdeel in cPanel wat gebruikt kan worden om via GIT repositories versiebeheer te hanteren. Om hier gebruik van te maken raden we je aan om de officiële documentatie van cPanel en GIT te raadplegen. De basis informatie die je hiervoor nodig hebt hebben we hieronder in een tweetal secties verdeeld. Deze documentatie is momenteel alleen in het Engels beschikbaar.
Wat is GIT?
Hoe pas ik GIT toe?
- cPanel documentation: Git Version Control
- cPanel documentation: Guide to Git - How to Set Up Deployment
- YouTube: cPanel Tutorials - Push (Automatic) Deployment with Git Version Control
- YouTube: cPanel Tutorials - Pull (Manual) Deployment with Git Version Control
- Git: Documentation
Probleemoplossing
Bad config value for 'receive.denycurrentbranch' in config
In cPanel 74.x.x en 75.x.x zat een bug m.b.t. het pushen van commits in GIT, mocht je deze versie nog op je cloud server draaien dan kun je onderstaande oplossing toepassen. Vanaf versie 76.0.0 en nieuwer is dit opgelost, de shared hosting servers maken hier al gebruik van.
De bug treed op wanneer je een commit probeert te pushen naar de GIT repo. De foutmelding die dan optreed is "bad config value for 'receive.denycurrentbranch' in config".
Dit is tot aan versie 76.0.0 van cPanel op te lossen met een kleine aanpassing in de 'local development environment'. Hier voeg je de 'remote' toe. In dit voorbeeld gebruiken we voor de remote name 'production':
git remote add production ssh://GEBRUIKERSNAAM@wwwXX.totaalholding.nl:21098/home/CPANELGEBRUIKERSNAAM/project_naam.git
GEBRUIKERSNAAM, wwwXX.totaalholding.nl en CPANELGEBRUIKERSNAAM vervang je met de waardes die bij jou van toepassing zijn. wwwXX.totaalholding.nl in dit voorbeeld is waar je je host / server invoerd.
De volgende twee regels passen we toe om om de bug van cPanel heen te werken. Deze zorgen ervoor dat het pushen van commits naar de GIT repo probleemloos zullen werken.
git config remote.production.receivepack /usr/local/cpanel/3rdparty/bin/git-receive-pack
git config receive.denyCurrentBranch ignore