---
tittel: "Bli en mester i Git og SSH: En veiledning på veien mot å bli en proff innen kodestyring — isla Studio"
url: "https://isla-stud.io/no/howtos-anleitungen/meistern-sie-git-und-ssh-ein-leitfaden-auf-dem-weg-zum-profi-im-code-management/"
date: 21.11.2023
---

# Mestre Git og SSH: En veiledning på veien mot å bli en proff innen kodestyring

Velkommen til denne veiledningen, der vi skal se nærmere på versjonshåndtering og teamarbeid innen programvareutvikling. Du vil lære hvordan du setter opp et privat Git-repositorium og synkroniserer det med en SSH-mappemål. Dette oppsettet er ideelt for utvikling av WordPress-plugins, -temaer eller andre kodekomponenter der en detaljert redigeringshistorikk og teamsamarbeid er avgjørende.

Ingen skjema funnet. 



Forberedelser til denne veiledningen
-----------------------------------

Før du begynner, må du sørge for at ditt lokale oppsett oppfyller følgende forutsetninger:

1. **Git installert**: Sjekk om Git er installert på systemet ditt og på den ønskede eksterne serveren. Hvis ikke, kan du laste det ned fra [git-scm.com](https://git-scm.com/) og installere det.
2. **SSH-tilgang**: Sørg for at du har SSH-tilgang til serveren du ønsker å jobbe med.
3. **Tekstredigeringsprogram**: Et grunnleggende tekstredigeringsprogram som Nano, Vim eller et lignende program bør være installert.
4. **Internettforbindelse**: En stabil internettforbindelse er nødvendig for å kunne kommunisere med eksterne repositorier.

Opprette et privat, lokalt Git-repositorium
---------------------------------------------------

Først oppretter du ditt eget private Git-repositorium. Dette repositoriet fungerer som et sentralt samlingspunkt der alle versjoner av koden din lagres.

```bash
git init MittProsjekt  # Initialiserer et nytt Git-repositorium med navnet 'MittProsjekt'
cd MittProsjekt # Går inn i katalogen du nettopp opprettet
git add .             # Legger til alle gjeldende filer i repositoriet
git commit -m "Første commit" # Oppretter en 'commit' med meldingen 'Første commit'
```

Synkronisere Git-repositoriet med en SSH-mappemål
------------------------------------------------------------------

Her synkroniserer du ditt lokale Git-repositorium med en ekstern katalog via SSH. Dette gjør det mulig for deg å lagre arbeidet ditt sikkert på en ekstern server og dele det med teammedlemmer.

```bash
ssh root@ihr-server.com "mkdir /sti/til/målkatalogen" # Oppretter en katalog på serveren
ssh root@ihr-server.com "cd /sti/til/målkatalogen; git init --bare" # Initialiserer et 'bare' Git-repositorium på serveren
git remote add origin ssh://root@ihr-server.com/pfad/zum/zielverzeichnis # Kobler ditt lokale arkiv til det eksterne arkivet. Det eksterne repositoriet blir nå registrert under navnet "origin". Du kan også bruke et annet navn.
git push origin master # Sender dine lokale endringer til det eksterne repositoriet
```

Arbeide med GitHub
-------------------

Hvis du foretrekker å arbeide med GitHub, eller ønsker å koble til et ekstra eksternt arkiv, kan du også koble ditt lokale arkiv til et GitHub-arkiv:

```bash
ssh root@ihr-server.com "mkdir /sti/til/målkatalogen" # Oppretter en katalog på serveren
ssh root@ihr-server.com "cd /sti/til/målkatalogen; git init --bare" # Initialiserer et 'bare' Git-repositorium på serveren
git remote add origin ssh://root@ihr-server.com/pfad/zum/zielverzeichnis # Kobler det lokale repositoriet til det eksterne repositoriet
git push origin master # Sender de lokale endringene til det eksterne repositoriet
```

Automatisk overføring av utgivelser til SSH-målet
-----------------------------------------------------------------------

Automatiser distribusjonen av endringene dine til serveren med en post-receive-hook:

```bash
ssh root@ihr-server.com  # Kobler til serveren
cd /sti/til/målkatalogen  # Går til målkatalogen
nano hooks/post-receive  # Oppretter eller redigerer 'post-receive'-hook-skriptet
```

Sett inn følgende skript for å automatisk overføre endringer i arbeidskatalogen til serveren:

```bash
#!/bin/sh
GIT_WORK_TREE=/sti/til/arbeidskatalogen git checkout -f  # Oppdaterer arbeidskatalogen på serveren med de nyeste endringene
chown -R brukernavn:gruppenavn /sti/til/arbeidskatalog  # Endrer eieren av filene i arbeidskatalogen
chmod +x hooks/post-receive  # Gjør skriptet kjørbart
Valgfritt:
chown -R 33:33 /sti/til/arbeidskatalogen # Sørger for at filene og katalogene i arbeidskatalogen tilordnes en bestemt serverbruker og serverbrukergruppe. Jeg bruker 33:33 her, fordi dette er ID-ene til min webserverbruker og webserverbrukergruppen www-data.
```

Hente endringer fra SSH-målet til det lokale repositoriet
-------------------------------------------------------

Overfør endringer som er gjort på SSH-målserveren til ditt lokale repository:

```bash
ssh root@ihr-server.com  # Kobler til serveren
cd /sti/til/arbeidskatalogen  # Går inn i arbeidskatalogen på serveren
git add .  # Legger til alle nye eller endrede filer i committen
git commit -m "Beskrivelse av endringene"  # Oppretter en ny commit med beskrivelsen av endringene
git push origin master  # Sender endringene til det eksterne repositoriet
git pull origin master  # Henter de nyeste endringene fra det eksterne repositoriet til ditt lokale repositorium
```

Overføre endringer fra det eksterne GitHub-repositoriet til det lokale repositoriet
------------------------------------------------------------------------

Til slutt lærer du hvordan du effektivt integrerer endringer som er gjort i det eksterne GitHub-repositoriet, inn i det lokale repositoriet. Dette er spesielt nyttig når du jobber i et team der flere personer arbeider samtidig med ulike deler av et prosjekt, for eksempel ved utvikling av kompleks programvare eller ved samarbeid om å lage et WordPress-tema eller -plugin. Ved å oppdatere det lokale repositoriet regelmessig sikrer du at du alltid er oppdatert på det felles arbeidet.

```bash
git fetch origin master  # Henter den nyeste informasjonen fra GitHub-repositoriet
git merge origin/master  # Importerer endringene fra GitHub-repositoriet til ditt lokale repositorium
```

Konklusjon: Vokse sammen gjennom deling og læring
------------------------------------------------

Vi har nå kommet til slutten av denne veiledningen, og jeg håper at disse innsiktene i bruken av Git og SSH vil være nyttige for deg. Husk at å mestre disse verktøyene ikke bare forbedrer dine individuelle ferdigheter innen programvareutvikling, men også baner vei for mer effektive og harmoniske teamprosjekter.

Jeg inviterer deg hjertelig til å dele dine tanker, erfaringer eller spørsmål i kommentarfeltet. Har du allerede erfaring med Git og SSH? Er det bestemte utfordringer du har støtt på, eller tips du ønsker å dele med fellesskapet? Tilbakemeldingene dine er svært verdifulle, ikke bare for meg, men også for andre lesere.

Bidraget ditt kan være nøkkelen som hjelper noen andre med å løse et problem eller oppdage et nytt perspektiv. Jeg gleder meg til å høre fra dere!

Til neste gang – vær nysgjerrige og engasjer dere i programmeringsverdenen! 🌟👨‍💻👩‍💻