Kloniranje repozitorija
Izhodišče
Repozitorij želite klonirati z običajnim odjemalcem Git in ga urejati na svojem računalniku, ne veste pa, kateri naslov in katere poverilnice veljajo.
Rešitev
Wiki ponuja repozitorije prek lastne končne točke Git. Odjemalec Git do nje dostopa kot do vsakega drugega strežnika HTTP: clone, fetch, pull in push delujejo kot običajno. Prijava poteka prek HTTP Basic z osebnim dostopnim žetonom, ne z geslom za wiki.
Celoten naslov je prikazan na zaslonu repozitorija v razdelku Kako dobiti ta repozitorij. Wiki ga tam izpiše, zato ga ne sestavljajte ročno: odvisen je od naslova tega wikija in od imenskega prostora, na katerega je repozitorij priklopljen. Dokončan naslov je videti takole:
https://www.wvds.it/wiki/lib/plugins/wkdoadogit/git.php/code/dokuwiki-plugins/wkdoadogit
To je naslov tega repozitorija v tej namestitvi. Za vsak drug repozitorij ga preberite na njegovem zaslonu.
Postopek
- Če dostopnega žetona še nimate, ga ustvarite: Dostopni žetoni. Podrobna navodila so na strani Ustvarjanje dostopnega žetona.
- Odprite Repozitoriji in izberite repozitorij.
- Razprite razdelek Kako dobiti ta repozitorij in naslov kopirajte z gumbom Kopiraj. Če JavaScript ni omogočen, gumba ni; tedaj kliknite v polje z naslovom, ki ga izbere v celoti.
- Klonirajte z odjemalcem Git po svoji izbiri. V ukazni vrstici:
git clone https://www.wvds.it/wiki/lib/plugins/wkdoadogit/git.php/code/dokuwiki-plugins/wkdoadogit
- Git zahteva 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 vas Git ne bi vsakič znova spraševal, žeton enkrat shranite v shrambo poverilnic. Git za Windows jo že vsebuje:
git config --global credential.helper manager
Namesto tega lahko z gumboma Odpri v Visual Studio Code in Odpri v JetBrains isti naslov predate nameščenemu razvojnemu okolju. VS Code odpre svoje pogovorno okno za kloniranje z že vpisanim naslovom; pri JetBrainsu zahtevo prevzame Toolbox in projekt ustvari v nazadnje uporabljenem IDE. Če ustrezni program ni nameščen, se ne zgodi nič, ker brskalnik protokola nima komu predati.
Opombe
Uporabniško ime res ni pomembno. Končna točka prebere geslo Basic, uporabniško ime pa uporabi le kot nadomestek; identiteto določa samo žeton. Če iščete »pravo« uporabniško ime, iščete nekaj, kar ne vpliva na nič. Edina izjema: polja za geslo ne puščajte praznega, sicer se kot žeton prebere uporabniško ime in prijava ne uspe.
Štiri stopnje – in stopnja za kloniranje ne zadošča za vračanje sprememb. 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 |
Stopnjo vam dodeli priklop repozitorija. Štiri predloge zanj dodeljujejo ogledovati, prevzemati in pisati; stopnja predlagati nastane samo iz posebej napisanega pravila, zato je redka. Če je v razdelku Kako dobiti ta repozitorij opomba, da je dostop samo za branje, imate stopnjo prevzemati: push je zavrnjen, naprej pa vodi pot prek strani Zahtevek za dostop.
Ime veje je dodatno pomembno samo na stopnji predlagati. Tedaj so sprejete samo veje pod vašo lastno predpono, refs/heads/users/<vaše uporabniško ime v wikiju>/<tema>. push na main se zavrne s push refused: outside_own_prefix, še preden kakršen koli bajt doseže izvorni sistem. Na stopnji pisati ta omejitev ne velja. Kjer velja, je najbolje, da takoj delate 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 spremembe že potrdili (commit) na drugače poimenovani veji, pri ukazu push cilj navedite izrecno, namesto da vejo preimenujete:
git push origin HEAD:refs/heads/users/mmuster/prelom-tabel
Kaj se z vejo zgodi potem, je opisano na strani Oddaja spremembe.
Javni repozitorij lahko klonirate brez žetona. Končna točka dovoli anonimni clone, če to priklop izrecno dovoljuje. Žeton potrebujete šele, ko repozitorij ni javen ali ko želite vračati spremembe; anonimnega ukaza push končna točka ne sprejme 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 kloniranje zadošča eden; vsi vodijo do istega repozitorija, vendar za vsakega veljajo pravila njegovega imenskega prostora. Gumba za IDE vedno predata prvega, saj jezik delovne kopije za kloniranje ni pomemben.
Če se zahteva za prijavo vedno znova ponavlja. Končna točka odgovarja s 401, dokler ne prejme veljavnega žetona, in Git nato vpraša znova. Preklican ali napačno prilepljen žeton se pri tem obnaša enako kot manjkajoč. Žeton preverite na strani Dostopni žetoni in v dvomu ustvarite novega.
Sorodne teme
- Kako klonirati priklopljen repozitorij – ista naloga z vidika razširitve, s tabelo potrebnih stopenj pravic