Kloniranje repozitorija
Izhodišče
Repozitorij želite klonirati z običajnim odjemalcem Git in ga urejati lokalno, pa ne veste, kateri naslov in katere poverilnice veljajo.
Pot do rešitve
Wiki streže repozitorije prek lastne končne točke Git. Odjemalec Git se nanjo obrne kot na vsak strežnik HTTP: clone, fetch, pull in push delujejo nespremenjeno. Prijava poteka prek HTTP Basic z osebnim dostopnim žetonom, ne z geslom wikija.
Celoten naslov stoji na zaslonu repozitorija pod Dieses Repository beziehen. Tam se izpiše in se ne sestavlja ročno — odvisen je od naslova tega wikija in od imenskega prostora, na katerega je repozitorij priklopljen. Tako izgleda dokončan naslov:
https://www.wvds.it/wiki/lib/plugins/wkdoadogit/git.php/code/dokuwiki-plugins/wkdoadogit
To je naslov tega repozitorija na tej namestitvi. Za vsak drug repozitorij ga preberite z njegovega zaslona.
Izvedba
- Ustvarite si dostopni žeton, če ga še nimate: Dostopni žetoni. Obširna navodila stojijo pod Izdelava dostopnega žetona.
- Odprite Repozitoriji in izberite repozitorij.
- Razprite Dieses Repository beziehen in prevzemite naslov s Kopieren. Brez dejavnega JavaScripta se gumb ne pojavi; tedaj zadostuje klik v naslovno polje, ki naslov izbere v celoti.
- Klonirajte z odjemalcem Git po izbiri. V ukazni vrstici:
git clone https://www.wvds.it/wiki/lib/plugins/wkdoadogit/git.php/code/dokuwiki-plugins/wkdoadogit
- Git vpraša za uporabniško ime in geslo. Vpišite:
| Polje | Vrednost |
|---|---|
| Uporabniško ime | poljubno — končna točka ga ne preverja |
| Geslo | vaš osebni dostopni žeton |
- Da Git ne bi spraševal ob vsakem klicu znova, žeton enkrat shranite v shrambo poverilnic. Git za Windows jo prinaša:
git config --global credential.helper manager
Namesto tega gumba In VS Code öffnen in In JetBrains öffnen isti naslov predata nameščenemu razvojnemu okolju. VS Code odpre svoje pogovorno okno za kloniranje s prednapolnjenim naslovom; pri JetBrainsu klic prevzame Toolbox in projekt ustvari v nazadnje uporabljenem IDE. Če ustrezni program ni nameščen, se ne zgodi nič — brskalnik tedaj protokola nima komu predati.
Opombe
Uporabniško ime je res vseeno. Končna točka bere geslo Basic, na uporabniško ime pa se zateče le nadomestno; identiteto določa žeton sam. Kdor išče „pravo“ uporabniško ime, išče nekaj, kar ne igra vloge. Edina izjema: polja za geslo ne puščajte praznega, sicer se uporabniško ime prebere kot žeton in prijava spodleti.
Štiri stopnje, in stopnja za kloniranje za vračanje ne zadostuje. Kaj končna točka sprejme, je odvisno od pravice na imenskem prostoru, na katerega je repozitorij priklopljen:
| Vaša stopnja | clone / fetch / pull | push |
|---|---|---|
| ogledovati | zavrnjeno | zavrnjeno |
| prevzemati | deluje | zavrnjeno |
| predlagati | deluje | samo pod lastno predpono veje |
| pisati | deluje | brez omejitev |
Katero stopnjo imate, dodeli priklop repozitorija. Štiri predloge zanj dodeljujejo ogledovati, prevzemati in pisati; stopnja predlagati nastane le iz posebej napisanega pravila in je zato redek primer. Če v razdelku Dieses Repository beziehen stoji opomba o zgolj bralnem dostopu, imate prevzemati: push je zavrnjen, pot pa vodi prek Zahtevek za dostop.
Le na stopnji predlagati dodatno odloča ime veje. Sprejete so tedaj izključno veje pod vašo lastno predpono — refs/heads/users/<vaše wiki uporabniško ime>/<tema> —, push na main pa se zavrne s push refused: outside_own_prefix, preden en sam bajt doseže izvorni sistem. Na stopnji pisati ta zapora ne velja. Kjer velja, delajte najbolje kar takoj na ustrezno poimenovani veji; za uporabniško ime mmuster:
git switch -c users/mmuster/prelom-tabel git commit -am "Tabele se prelamljajo na ozkih zaslonih" git push -u origin users/mmuster/prelom-tabel
Če ste že objavili na drugače poimenovani veji, cilj pri push-u navedite izrecno, namesto da vejo preimenujete:
git push origin HEAD:refs/heads/users/mmuster/prelom-tabel
Kaj se z vejo nato zgodi, stoji pod Oddaja spremembe.
Javen repozitorij se da klonirati brez žetona. Končna točka dopušča anonimen clone, če priklop to izrecno dovoljuje. Žeton potrebujete šele, ko repozitorij ni javen ali ko želite vračati; anonimno push ni sprejet v nobenem primeru.
Več naslovov pri večjezičnem priklopu. Če je repozitorij priklopljen v več jezikovnih imenskih prostorih, razdelek navede po en naslov za vsak imenski prostor. Za klon zadostuje eden od njih; vodijo do istega repozitorija, a vsak podlega pravilom svojega imenskega prostora. Gumba za IDE vedno predata prvega — kateri jezik ima delovna kopija, za klon nima pomena.
Kadar se prijava zahteva vedno znova. Končna točka odgovarja s 401, dokler ne prispe veljaven žeton, in Git nato vpraša znova. Preklican ali napačno prilepljen žeton pri tem izgleda enako kot noben. Preverite žeton pod Dostopni žetoni in v dvomu ustvarite novega.
Sorodne teme
- Kloniranje priklopljenega repozitorija — ista naloga z vidika vtičnika, s preglednico potrebnih stopenj pravic