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. Rider 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, typisk
C:\Users\username\RiderProjects\... på Windows eller
/Users/username/RiderProjects/... på macOS).
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.
Trin 1 — Klon repositoriet
Start Rider. På velkomstskærmen vælger du Clone Repository (eller menuen File > New > Project from Version Control):
Vælg GitHub i listen til venstre (Rider skal være logget ind på din GitHub-konto — det sker typisk automatisk første gang). Søg efter repositoriets navn og vælg det:
Kontrollér at stien (Directory) er som den skal være — bemærk at solution-navnet er en del af stien:
Rider spørger, om du stoler på solution'en og vil åbne den — vælg Trust and Open:
Trin 2 — Se resultatet
Projektet ligger nu i din lokale folder. Åbn visningen File System (i stedet for Solution) for at se alle filerne — inklusive de skjulte git-filer:
Bemærk folderen .idea — det er Riders egen konfigurationsfolder:
Og bemærk filen .gitignore — den fortæller Git, hvilke filer der
ikke skal gemmes i repositoriet:
Trin 3 — Føj Rider- og macOS-filer til .gitignore
Én 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
(så de ikke ender i det fælles repository):
# ==========================================
# JetBrains Rider & macOS
# ==========================================
.idea/
*.sln.iml
# macOS systemfiler
.DS_Store
.AppleDouble
.LSOverride
Trin 4 — Foretag en ændring og commit
Ret noget i koden — her ændres udskriften i Program.cs:
Åbn Commit-vinduet (venstre sidepanel, eller Ctrl+K /
Cmd+K). Under Changes sætter du kryds ved de filer, der skal med —
her både .gitignore og Program.cs:
Skriv en kort commit-besked, der beskriver ændringen, og tryk Commit:
Efter commit'en er Changes tom — ændringerne er gemt i din lokale historik:
Trin 5 — Hent de andres ændringer: Pull
En anden person i gruppen (Person B) har ændret Program.cs og pushet til
GitHub. Du henter ændringen ned med Pull — højreklik på projektet og
vælg Git > Pull...:
I dialogen bekræftes pull fra origin til din branch (her master)
— tryk Pull:
Ctrl+Alt+W) gør det samme som Pull.
Trin 6 — Ved merge-konflikt: Merge Editoren
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 Rider hjælper dig gennem det. Git opdager konflikten og viser en liste — vælg Merge...:
Rider åbner Merge Editoren: din version til venstre, versionen fra GitHub til højre, med konfliktlinjen markeret. Vælg den rigtige tekst — eller skriv en blanding:
Efter merge indeholder din lokale fil nu den valgte version:
Afslut med et commit og eventuelt et push, så løsningen kommer op i skyen:
Checkliste — hele forløbet på én side
FØRSTE GANG (efter invitation fra Person A)
1. Rider: Clone Repository -> GitHub -> vælg repos
2. Kontrollér stien (RiderProjects\... \solutionnavn)
3. Clone -> Trust and Open
4. Én i gruppen: .gitignore += .idea/, *.sln.iml, .DS_Store ...
HVERDAGEN (alle)
5. pull (Git > Pull... / Update Project)
6. arbejd -> commit ofte (Ctrl+K), kort besked
7. push (Git > Push... / Ctrl+Shift+K)
Ved merge-konflikt: Merge... -> vælg rigtig tekst -> commit