Git: verschil tussen versies

Uit Rolandow
Ga naar: navigatie, zoeken
 
Regel 4: Regel 4:
  
 
[http://toroid.org/ams/git-website-howto Using git to manage a web site]
 
[http://toroid.org/ams/git-website-howto Using git to manage a web site]
 +
 +
Op deze manier je website publishen gaat niet goed als je gaat branchen. Je kunt in de post-receive hook afvangen welke branch er gestuurd is. Voorbeeld heb ik hier vandaan [http://blog.ekynoxe.com/2011/10/22/git-post-receive-for-multiple-remote-branches-and-work-trees http://blog.ekynoxe.com/2011/10/22/git-post-receive-for-multiple-remote-branches-and-work-trees]
  
 
Hierna dus putty geconfigureerd.
 
Hierna dus putty geconfigureerd.

Huidige versie van 13 jul 2012 om 08:35

Bij de installatie van de git kun je opgeven welke plink.exe je wilt gebruiken. Je moet die van putty gebruiken. De hele installer van de putty website halen, en alles installeren. Je kunt dan namelijk keys installeren zodat je niet telkens je username pass hoeft in te geven.

Ik heb eerst een howto gevolgd om een git repository op te zetten voor een website. Het idee is dat je een remote repository opzet op de server. In de "hooks" map kun je een scriptje aanmaken dat uitgevoerd wordt na het pushen van content. Hierin staat eigen een checkout, die automatisch de bestanden uitcheckt in de documentroot folder.

Using git to manage a web site

Op deze manier je website publishen gaat niet goed als je gaat branchen. Je kunt in de post-receive hook afvangen welke branch er gestuurd is. Voorbeeld heb ik hier vandaan http://blog.ekynoxe.com/2011/10/22/git-post-receive-for-multiple-remote-branches-and-work-trees

Hierna dus putty geconfigureerd.

Public Key Authentication With PuTTY

Als je de remote repository voor git configureert moet je dit als volgt invoeren:

roland@89.234.29.221:stumpel.git

Hierbij is roland de ssh user, daarna het IP. Dan in mijn home folder op de webserver is de repo stumpel.git aangemaakt: gewoon een folder waarin in "git init --bare" gedaan is. Hier vind je in de hooks folder ook het bestand post receive, waarin staat:

#!/bin/sh
GIT_WORK_TREE=/var/www/html/stumpel/stumpel-git git checkout -f

stumpel_staging

Ik heb met een push via de GUI een nieuwe repository aangemaakt, stumpel_staging.git. Vervolgens op beide clients een lokale branch gemaakt die de remote branch trackt, met dit commando in de bash:

git checkout --track -b stumpel_staging stumpel_staging/master

Na de -b komt de lokale branch die wordt aangemaakt en waar naartoe geswitcht wordt. De stumpel_staging is de remote repository (remote add stumpel_staging roland@89.234.29.221:stumpel_staging.git), en de master branch daar wordt gebruikt.

Nu kun je met git pull (hetzelfde als git fetch en git merge) veranderingen ophalen. Met git push stumpel_staging.

Overige bronnen: