Git er et versionsstyringssystem: det gemmer projektets historik, så man altid kan se, hvad der er ændret, og gå tilbage til tidligere versioner. GitHub er et sted online, hvor et Git-repository kan ligge — så hele gruppen kan hente og gemme i det samme projekt. Visual Studio har Git indbygget: du behøver ikke noget ekstra program.
Princippet
Projektet findes to steder: i skyen (GitHub — det fælles repository) og hos hver enkelt person (den lokale folder på egen maskine). Man gemmer egne ændringer op i skyen og henter de andres ændringer ned:
Første gang man får projektet ned på sin maskine hedder det klone. Derefter gemmer man egne ændringer med commit og sender dem op med push — og henter de andres ændringer ned med pull.
De to roller
| Person A — starter | Person B (og de andre) — inviteres |
|---|---|
| Opretter projektet og repositoriet, og inviterer de andre. Trin 1–4 nedenfor. | Accepterer invitationen og kloner repositoriet ned. Trin 5–7 nedenfor. |
Person A: Opret projekt og repository (trin 1–4)
Trin 1 — Sikr dig, at repositoriets navn er ledigt
Log ind på github.com og find ud af,
hvad repositoriet skal hedde (fx menu-app-gruppe4). Søg efter navnet
blandt dine eksisterende repositories og
vælg et, der ikke allerede er i brug.
Trin 2 — Opret en Solution/Projekt i Visual Studio
En person i gruppen gør følgende:
Beslut først,
hvor Solution/Project skal ligge? Det anbefales at anvende en
folder som ikke er i et skydrev (dvs. OneDrive, Dropbox eller Google Drive).
Microsofts standard-sted er fin til formålet:
C:\Users\username\source\repos\... (Visual Studios egen mappe til kode).
Én person i gruppen opretter projektet, som du plejer (dvs. uden top level statements, uden at Solution og Project ligger i samme mappe): File > New > Project (fx en Console App), vælg navn og placering.
Trin 3 — Add Source Control (Git)
I Visual Studio: Vælg Add Source Control i statuslinien nederst til højre, vælg Git - alternativt fra top-menu: Git > Create Git Repository… . I dialogvinduet vælger du Git og GitHub. Visual Studio klarer det meste selv:
- .gitignore (VS) — en fil, der siger, hvad Git skal ikke gemme
(byggemapper som
bin/ogobj/m.m.). Visual Studio laver en, der passer til .NET. - Add a README — en kort introduktionstekst til repositoriet. Området her kan i også bruge til at nedskrive fælles beslutninger, arkitekturvalg, formål, dagens arbejde osv.
- Private — kun folk fra gruppen kan se repositoriet. Vælg det.
Tryk Create and push: Visual Studio laver repositoriet lokalt i .git og pusher det
op til GitHub
i én handling.
Trin 4 — Invitér de andre fra gruppen (Collaborators)
På github.com: åbn repositoriet > Settings > Collaborators > Add people — og skriv de andres brugernavne eller e-mail-adresser. Hver person får nu en invitation på e-mail.
Person B (de andre): Acceptér og klon (trin 5–6)
Trin 5 — Acceptér samarbejdet
Åbn e-mailen fra GitHub og tryk på knappen for at acceptere invitationen. Efter accepten kan du se repositoriet, når du er logget ind på github.com.
Trin 6 — Klon repositoriet ned til din maskine
Hvor skal den lokale folder ligge? Det anbefales at anvende en
folder som ikke er i et skydrev (dvs. OneDrive, Dropbox eller Google Drive).
Microsofts standard-sted er fin til formålet:
C:\Users\username\source\repos\... (Visual Studios egen mappe til kode).
I Visual Studio: File > Open > Clone repository… — find repositoriet i listen over dine GitHub-repositories (du skal være logget ind med din GitHub-konto), vælg en lokal folder, jævnfør ovenstående, og tryk Clone.
Åbn derefter Solution-filen (.sln) og kør projektet.
Hverdagen bagefter: pull — commit — push
Når repositoriet er oprettet/klonet, er hverdagen for alle i gruppen den samme. Alt sker i vinduet Git Changes - samme vindue som Solution navigator, eller i menuen Git øverst.:
| Hvad | Hvordan i Visual Studio | Hvad det gør |
|---|---|---|
| Pull — hent de andres ændringer | Knappen Pull i Git Changes-vinduet | Henter de nyeste ændringer fra skyen ned til din maskine |
| Commit — gem en version lokalt | Skriv en commit-besked i feltet øverst til højre og tryk Commit All | Gemmer dine ændringer som en ny version i din lokale historik |
| Push — send op i skyen | Knappen Push (pil opad) i Git Changes-vinduet | Sender dine commits op på GitHub, så resten af gruppen kan se dem |
Trin 7 — Ved merge-konflikt: Open Merge Editor
En merge-konflikt opstår, når to personer har ændret det samme sted i den samme fil, og Git ikke kan afgøre, hvilken ændring der skal gælde. Det er helt normalt — og Visual Studio hjælper dig gennem det:
- Visual Studio stopper og fortæller, at der er konflikter (nogle filer er markerede).
- Vælg Open Merge Editor i beskeden øverst til venstre.
- Merge Editoren viser versionen fra skyen og din egen version side om side, med resultatet nedenfor. For hver konflikt vælger du den rigtige tekst — eller skriver en blanding.
- Tryk Merge All og Accept Merge, når alle konflikter er løst.
- Afslut med et commit (og push), så løsningen kommer op i skyen.
Checkliste — hele forløbet på én side
PERSON A
1. Sikr at sky-repos' navn er ledigt (github.com)
2. Opret Solution/Projekt i Visual Studio
3. Add Source Control -> Git
.gitignore (VS), add Readme, Private
-> Create and push
4. github.com: åbn repos > Settings > Add collaborators
PERSON B / DE ANDRE
5. Acceptér samarbejde (e-mail fra GitHub)
6. Klon repos til lokal folder
(C:\Users\username\source\...)
HVERDAGEN (alle)
7. pull -> arbejd -> commit -> push
Ved merge-konflikt: Open Merge Editor
macOS og Rider
På macOS kan du bruge JetBrains Rider på samme måde som Visual Studio på Windows.
Git-integration fungerer stort set ens, men stien til den lokale folder vil typisk være
noget i stil med /Users/username/RiderProjects/....
En i gruppen retter .gitignore og tilføjer følgende linjer, f.eks. i toppen af filen, for at ignorere Rider-specifikke og macOS specifikke filer:
# ==========================================
# JetBrains Rider & macOS
# ==========================================
.idea/
*.sln.iml
# macOS systemfiler
.DS_Store
.AppleDouble
.LSOverride
Se flere detaljer om hvordan du bruger Riders git-integration her