Denne siden er arkivert, og kan inneholde utdatert, gammel eller feil informasjon.
Git-repo
For vanlig bruk, se Git.
Vi bruker nå Gitea. Info om git-repoer står i gitea noden.
Git-repo hostet på cassarossa
Dersom en ønsker å hoste Git-repoer på cassarossa, kan følgende oppskrift være nyttig for å få repoene satt opp rett mtp. at flere personer i samme gruppe skal skrive til repoet uten unødvendig kluss:
mkdir /home/cassarossa/itk/felles/git/prosjekt cd /home/cassarossa/itk/felles/git/prosjekt git init --bare --shared=group # Lage commit hooks for sending av mail etter commit. cd hooks ln -s /home/cassarossa/itk/felles/git/post-receive post-receive # Få commit hooks inn i config git config --add hooks.mailinglist "itk-commits@samfundet.no" (fellesliste for mindre prosjekter, mdb og billig har gjerne dedikert mailingliste) git config --add hooks.emailprefix "[prosjekt]"Legg gjerne til en liten beskrivelse av prosjektet i /home/cassarossa/itk/felles/git/prosjekt/description da denne teksten vil vises i gitweb siden.
Git-repo for utvikling
En kan så enten clone repoet:
# Der en har cassarossa NFS-montert: git clone /home/cassarossa/itk/felles/git/prosjekt # Eller via SSH: git clone bruker@cassarossa.samfundet.no:/home/cassarossa/itk/felles/git/prosjekt
Eller, en kan legge til cassarossa-repoet som en remote (her kalt "cass") i et eksisterende repo:
git remote add cass bruker@cassarossa.samfundet.no:/home/cassarossa/itk/felles/git/prosjekt
For å sende commit epost må følgende gjøres:
ln -s /home/cassarossa/itk/felles/git/post-commit-email .git/hooks/post-commit git config --add hooks.mailinglist "itk-commits@samfundet.no" git config --add hooks.emailprefix "[prosjekt]"
For så å pushe kode fra den lokale "master"-branchen til cassarossa-repoet:
git push cass master
Dersom en ønsker å bruke bare git push uten ytterligere argumenter så kan cassarossa-repoet settes opp som default upstream:
# For å få informasjon om alle remote branches lokalt: git fetch --all # Gjør "cass/master" (les: branchen "master" på remoten "cass") # til upstream for den lokale branchen "master" git branch --set-upstream master cass/master # Profit! git push
Git-repo for produksjonssetting
Når en skal bruke Git-repoer for produksjonssetting er det fint om alle i gruppen kan dra inn oppdateringer uten å få problemer med eierskap til filer. For å få dette til å fungere smertefritt burde ikke repoet opprettes med en vanlig git clone, men heller på tilsvarende vis som vi lager delte repoer på cassarossa:
# Nytt ikke-bare repo delt mellom alle i itk-gruppen mkdir /var/www/samfundet.no/prosjekt cd /var/www/samfundet.no/prosjekt git init --shared=group # Legg til ønskede remotes git remote add cass /home/cassarossa/itk/felles/git/prosjekt git remote add github git@github.com:itkinside/prosjekt.git # Fetch informasjon fra remotes git fetch --all # Sett om ønsket en default upstream for enkel pull/push-bruk git branch --set-upstream master cass/master # Merge inn ønsket state fra en av remotene, slik at working dir får noe innhold: git merge cass/master
Git-repo hostet på GitHub
ITK er registrert som en organisasjon på GitHub, med offentlig profil på https://github.com/itkinside. En stor mengde ITK-ere har "owner"-tilgang til organisasjonen gjennom sine personlige GitHub-brukere. Huk tak i én av disse dersom du vil ha tilsvarende tilgang, for bl.a. å kunne opprette nye Git-repoer på GitHub-organisasjonen vår.
For å komme i gang med GitHub, se http://help.github.com.
Git-repo hostet begge steder
Dersom en har prosjekter som er hostet både på GitHub og på cassarossa, så kan en ha to remotes på samme Git-repo, for slik å kunne pulle fra og pushe til begge steder:
git remote add github git@github.com:itkinside/prosjekt.git git remote add cass bruker@cassarossa.samfundet.no:/home/cassarossa/itk/felles/git/prosjekt
For å hente alle data fra begge remotes:
git fetch --all
Eller fra én:
git fetch github
For å pushe den lokale "master"-branchen til begge steder:
git push github master git push cass master
For å merge inn siste endringer i "master"-branchen fra GitHub:
git merge github/master
Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2022-10-15 16:03 | Revisjon: 11 (historie, blame) | Totalt: 1902 kB | Rediger