blob: d48caaf2521b198092bd92965bebbb877864562b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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/19 aoc-2019
$ ssh git@git.xn--srns-noa9h.se perms gustav/aoc/19 + WRITERS henrik
|