diff options
Diffstat (limited to 'git.md')
| -rw-r--r-- | git.md | 70 |
1 files changed, 70 insertions, 0 deletions
@@ -0,0 +1,70 @@ +(Jag vet inte vad som är mest larvigt, att skriva "pusha" eller "knuffa" enligt +git på svenska https://github.com/bjorne/git-pa-svenska.) + +## git-kommandon lokalt + +Rekommenderad läsning: + +- https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes +- https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows +- (Egentligen hela boken) + +Om det redan finns ett repository med en annan remote som ska bytas ut: + +$ git remote set-url origin git@git.xn--srns-noa9h.se:{USER}/{REPOSITORY} + +Om det redan finns ett repository där en remote ska läggas till (antingen +parallellt med en redan existerande eller som en ny): + +$ git remote add {REMOTE} git@git.xn--srns-noa9h.se:{USER}/{REPOSITORY} + +För att pusha alla lokala branches och taggar (kan vara bra om hela projektet +ska flyttas till den nya remoten): + +$ git push {REMOTE} --all + +Om remoten istället ska vara en spegling av en specifik branch räcker det med + +$ git push {REMOTE} {BRANCH} + +Om en branch ska trackas av remoten, specifiera -u. + +$ git push -u {REMOTE} {BRANCH} + +Det går också att sätta upp tracking utan att göra en push med + +$ git branch {BRANCH} --set-upstream-to={REMOTE}/{REMOTE-BRANCH} +$ git branch develop --set-upstream-to=origin/develop # exempel + +Om ett nytt repository ska skapas med ett lokalt repository i samma veva går det +att göra i ett steg. + +$ git clone git@git.xn--srns-noa9h.se:{USER}/{REPOSITORY} + +## Hantera andras rättigheter + +Rekommenderad läsning: + +- https://gitolite.com/gitolite/conf.html#access-rules +- https://gitolite.com/gitolite/user.html + +Om andra ska ha tillgång till ett repository behöver de specifieras som +reader/writer. (Egentligen är att specifiera reader onödigt eftersom alla redan +har läsrättigheter via HTTPS.) Endast personer med en ssh-nyckel på servern kan +specifieras som reader/writer. Som tur är är det inte en säkerhetsrisk att lägga +till sådana nycklar eftersom de inte kan användas för att logga in i en +skalmiljö, så om du av någon anledning vill lägga till en kollega eller någon +annan är det bara att skicka iväg en publik ssh-nyckel (skapad med antingen +vanliga openssh på macos/\*nix eller git bash på windows) till mig med ett önskat +användarnamn. + +För att ändra rättigheter används, smidigt nog, ssh. + +$ ssh git@git.xn--srns-noa9h.se help +$ ssh git@git.xn--srns-noa9h.se info # för att se alla (nåbara) repositories +$ ssh git@git.xn--srns-noa9h.se perms {REPOSITORY} {+/-} {GROUP} {USERNAME} + +Till exempel: + +$ git clone git@git.xn--srns-noa9h.se:gustav/aoc/2019 aoc-2019 +$ ssh git@git.xn--srns-noa9h.se perms gustav/aoc/2019 + WRITERS henrik |
