Discussion:
Git vraagje
(te oud om op te antwoorden)
Paul van der Vlis
2024-03-21 09:24:30 UTC
Permalink
Hoi,

Ik heb een git repository gemaakt op een webserver maar clonen via https
werkt niet, en ik vraag me af waarom. Hieronder een uitwerking:

Op de webserver doe ik in de documentroot:
git init --bare --shared test

Ik kloon de lege repository op een client via SSH:
git clone ssh://***@git.vandervlis.nl:/home/git/www/test
Breng wijzingen aan, en push die:
cd test
nano hallo
git add hallo
git commit
git push

Anderen kunnen dit ook is mijn ervaring, en zo kunnen we prima
samenwerken op deze git.

Echter, als nog iemand anders de boel via https wil klonen met:
git clone https://git.vandervlis.nl/test.git
dat krijg je deze foutmelding:
fatal: repository 'https://git.vandervlis.nl/test.git/' not found

Terwijl het gewoon wel te vinden is op die URL. Hmm.

Enig idee hoe dat komt?

Groet,
Paul
--
Paul van der Vlis Linux systeembeheer Groningen
https://vandervlis.nl
Oscar
2024-03-21 15:14:53 UTC
Permalink
Post by Paul van der Vlis
git clone https://git.vandervlis.nl/test.git
fatal: repository 'https://git.vandervlis.nl/test.git/' not found
Terwijl het gewoon wel te vinden is op die URL. Hmm.
Enig idee hoe dat komt?
https://stackoverflow.com/questions/2278888/private-git-repository-over-http

Blijkbaar moet je dit nog even doen:

git --bare update-server-info

Daarna doet ie het wel.
--
[J|O|R] <- .signature.gz
Oscar
2024-03-21 15:21:51 UTC
Permalink
Post by Oscar
https://stackoverflow.com/questions/2278888/private-git-repository-over-http
git --bare update-server-info
Daarna doet ie het wel.
Blijkbaar probeert die clone 'info/refs' uit dat pad te vissen. Die
bestaat nog niet. Kijk maar naar de 404's in je access.log

Je moet dit commando iedere keer uitvoeren als je die info/refs wil
updaten, bijvoorbeeld omdat er iets nieuws naartoe gepushed is. Daarom
raadt dat antwoord ook dit aan:

mv hooks/post-update.sample hooks/post-update

In die hook wordt die 'update-server-info' automatisch uitgevoerd.
--
[J|O|R] <- .signature.gz
Paul van der Vlis
2024-03-21 20:39:10 UTC
Permalink
Post by Oscar
Post by Oscar
https://stackoverflow.com/questions/2278888/private-git-repository-over-http
git --bare update-server-info
Daarna doet ie het wel.
Blijkbaar probeert die clone 'info/refs' uit dat pad te vissen. Die
bestaat nog niet. Kijk maar naar de 404's in je access.log
Daar had ik natuurlijk moeten kijken.
Post by Oscar
Je moet dit commando iedere keer uitvoeren als je die info/refs wil
updaten, bijvoorbeeld omdat er iets nieuws naartoe gepushed is. Daarom
mv hooks/post-update.sample hooks/post-update
In die hook wordt die 'update-server-info' automatisch uitgevoerd.
Geweldig, werkt helemaal goed!

Groet,
Paul
--
Paul van der Vlis Linux systeembeheer Groningen
https://vandervlis.nl
Paul van der Vlis
2024-03-21 20:56:25 UTC
Permalink
Post by Paul van der Vlis
Post by Oscar
Post by Oscar
https://stackoverflow.com/questions/2278888/private-git-repository-over-http
    git --bare update-server-info
Daarna doet ie het wel.
Blijkbaar probeert die clone 'info/refs' uit dat pad te vissen. Die
bestaat nog niet. Kijk maar naar de 404's in je access.log
Daar had ik natuurlijk moeten kijken.
Post by Oscar
Je moet dit commando iedere keer uitvoeren als je die info/refs wil
updaten, bijvoorbeeld omdat er iets nieuws naartoe gepushed is. Daarom
     mv hooks/post-update.sample hooks/post-update
In die hook wordt die 'update-server-info' automatisch uitgevoerd.
Geweldig, werkt helemaal goed!
Wat ik dus doe in de documentroot van een website is dit:
git=naampje
git init --bare --shared $git
cd $git
git --bare update-server-info
mv hooks/post-update.sample hooks/post-update

En daarna werkt de git zowel via SSH als via https, zie ook mijn eerste
mailtje. Via SSH heb je schrijfrechten, via https kun je alleen lezen.

Uiteraard is https dicht te zetten via .htacces als je dat zou willen.

Groet,
Paul
--
Paul van der Vlis Linux systeembeheer Groningen
https://vandervlis.nl
Loading...