(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/19 aoc-2019 $ ssh git@git.xn--srns-noa9h.se perms gustav/aoc/19 + WRITERS henrik