1. Arbetskopia
Projektet du arbetar i på datorn. Lägg det i en vanlig lokal mapp, inte i en mapp som direktsynkas av Drive, Dropbox eller OneDrive.
GYARB · versionshantering och säkerhetskopiering
En fungerande säkerhetskopia finns på en annan plats, innehåller rätt filer och har testats genom att återställas. För aktiva projekt är GitHub bäst för kod och historik. Komplettera med daterade ZIP-kopior för extra trygghet.
Projektet du arbetar i på datorn. Lägg det i en vanlig lokal mapp, inte i en mapp som direktsynkas av Drive, Dropbox eller OneDrive.
Commits sparar versioner. Push skickar dem till GitHub. Välj ett privat repository om koden inte ska vara offentlig.
Stäng programmet, skapa en daterad ZIP-fil och lägg den på exempelvis Google Drive eller ett externt minne.
Ha helst tre kopior av projektet, på minst två olika typer av lagring, varav en kopia finns på en annan plats. För ett gymnasiearbete kan det vara arbetskopian, ett privat GitHub-repository och en daterad ZIP-fil i molnlagring.
Assets, Packages och ProjectSettings. För Godot är det mappen med project.godot. För webb är det oftast mappen med index.html eller package.json..env ska inte publiceras..gitignore innan första commit. Då slipper du ladda upp cache, byggen och tusentals genererade filer..gitignore. Lägg filen i projektets rotmapp och använd mallen för din projekttyp längre ner på sidan. Filnamnet ska vara exakt .gitignore, utan .txt.Library, node_modules, lösenord eller tusentals cachefiler? Avbryt och rätta .gitignore innan du fortsätter.Kör kommandona i projektets rotmapp. Skapa först ett tomt repository på GitHub och ersätt webbadressen nedan.
git init
git add .
git status
git commit -m "Första fungerande versionen"
git branch -M main
git remote add origin https://github.com/ANVANDARE/PROJEKT.git
git push -u origin main
Om Git frågar efter identitet ställer du in ditt eget namn och den e-postadress som hör till GitHub-kontot:
git config --global user.name "Förnamn Efternamn"
git config --global user.email "din-epost@example.com"
.gitignoreEn .gitignore talar om vad Git inte ska spara. Den ska utesluta sådant som kan återskapas, men aldrig projektets unika källkod, scener, inställningar eller originalgrafik. GitHubs färdiga mallar är säkrast när de finns för din teknik.
Versionshantera normalt Assets/, Packages/, ProjectSettings/ och alla tillhörande .meta-filer. En förlorad .meta-fil kan bryta referenser mellan objekt. Ignorera däremot genererad cache och exporterade byggen.
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
/[Mm]emoryCaptures/
/[Rr]ecordings/
/.vs/
/.gradle/
*.csproj
*.unityproj
*.sln
*.suo
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
*.apk
*.aab
*.app
*.unitypackage
sysinfo.txt
I Unity ska Version Control Mode vara Visible Meta Files (standard i nyare Unity). Välj även textbaserad serialisering, Asset Serialization → Force Text, så att scener och andra resurser blir lättare att jämföra och sammanfoga. Använd gärna den kompletta, aktuella Unity-mallen från GitHub.
Versionshantera bland annat project.godot, skript, scener, resurser och originalfiler. För Godot 4 kan du använda:
# Godot 4 – importerad cache
.godot/
# Godot 3 och äldre projekt
.import/
# Genererade eller tillfälliga filer
.mono/
data_*/
mono_crash.*.json
*.translation
*.tmp
# Äldre exportfiler och hemliga uppgifter
export.cfg
export_credentials.cfg
Godot 4.1 och senare: export_presets.cfg kan normalt versionshanteras och gör det lättare att återskapa exporter. Hemliga exportuppgifter ligger i .godot/export_credentials.cfg, som redan utesluts när .godot/ ignoreras. Godot 3 och 4.0: exportinställningar kan innehålla känsliga uppgifter; kontrollera dem noga eller ignorera export_presets.cfg. Se den aktuella Godot-mallen från GitHub.
Vanlig HTML, CSS, JavaScript och bilder ska sparas. Paket kan installeras igen från package.json och låsfilen, så node_modules ska inte med. Spara package-lock.json, pnpm-lock.yaml eller yarn.lock.
node_modules/
dist/
build/
.next/
.nuxt/
.svelte-kit/
.vite/
coverage/
.cache/
# Lokala inställningar och hemligheter
.env
.env.*
!.env.example
# Operativsystem och editor
.DS_Store
Thumbs.db
.vscode/
.idea/
Ignorera bara dist/ eller build/ om de verkligen genereras från källkoden. En enkel statisk webbplats kan bestå av just de filer som ska publiceras. Spara en anonym .env.example med variabelnamn men utan riktiga värden.
| Projekttyp | Ignorera ofta | Spara alltid |
|---|---|---|
| Python | __pycache__/, *.pyc, .venv/, venv/, testcache | *.py, requirements.txt eller pyproject.toml, tester |
| Java/Kotlin | target/, build/, .gradle/, *.class | Källkod, pom.xml, Gradle-filer och wrapper |
| .NET/C# | bin/, obj/, .vs/, användarinställningar | *.cs, projekt- och lösningsfiler, tester |
| C/C++ | Objektfiler, körbara filer och genererade byggmappar | Källkod, headers, byggskript och beroendebeskrivning |
| Databas/CMS | Lokala cachefiler och hemliga konfigurationer | Kod plus en separat, säker export av databasen och uppladdade filer |
Utgå från en aktuell mall i GitHubs samling av .gitignore-filer. Läs alltid mallen – kopiera inte regler som du inte förstår.
GitHub blockerar vanliga Git-filer på 100 MiB eller mer och rekommenderar Git LFS för stora binära filer. LFS passar exempelvis .psd, .blend, .fbx, stora ljudfiler, videor och högupplösta texturer. Det har egna lagrings- och trafikgränser, så lägg inte cache eller färdiga byggen där i onödan.
git lfs install
git lfs track "*.psd"
git lfs track "*.fbx"
git lfs track "*.blend"
git lfs track "*.wav"
git add .gitattributes
git add .
git commit -m "Lägg till Git LFS för stora filer"
git push
Filen .gitattributes måste committas så att alla i gruppen använder samma regler. Alla som klonar projektet behöver Git LFS för att få själva filerna och inte bara små pekarfiler.
git lfs track. Att flytta gammal historik till LFS skriver om historiken och bör göras med handledning och en extra backup.Gör inte en ny kopia av hela projektmappen och fortsätt på måfå. Läs vilka filer som krockar, prata med den andra personen och välj eller kombinera rätt ändringar. Binära filer och Unity-scener är svåra att slå ihop – arbetsfördelning förebygger problemet. Ta en ZIP-kopia innan du gör en osäker konflikthantering.
MittSpel_2026-09-22_v07.zip. För snabbare Unity-kopior kan Library, Temp, Logs och Obj uteslutas; Unity återskapar dem.En ZIP-kopia är en ögonblicksbild, inte ett bra samarbetsverktyg. Skicka inte olika ZIP-versioner fram och tillbaka i en grupp; använd GitHub och en tydlig arbetsfördelning.
.env-fil eller i operativsystemets hemlighetshantering..env.example med exempelvärden så att projektet går att konfigurera efter kloning.En backup är inte verifierad förrän projektet har återställts. Testa efter första publiceringen och därefter vid viktiga milstolpar:
npm install. Pythonprojekt skapar en ny virtuell miljö och installerar beroenden.README.md, beroendefiler, .gitignore eller LFS-regler och gör sedan commit och push.README.md bör förklara| Problem | Orsak | Åtgärd |
|---|---|---|
| Tusentals filer syns i Changes | .gitignore saknas, ligger i fel mapp eller lades till efter filerna. | Kontrollera rotmappen och regeln. Filer som redan spåras måste tas bort ur Git-indexet med försiktighet; ta backup och be om hjälp. |
| Push stoppas av en stor fil | Filen är 100 MiB eller större eller ligger redan i historiken. | Ta bort genererade filer. Använd Git LFS för nödvändiga binärfiler. Be om hjälp om historiken måste skrivas om. |
| Projektet fungerar bara på en dator | Beroenden, inställningar, .meta-filer eller originalresurser saknas. | Testklona, lägg till rätt filer och dokumentera installationen i README. |
| Unity tappar referenser | En .meta-fil saknas eller flyttades utan sin resurs. | Återställ både resursen och dess .meta-fil från Git-historiken. |
| Git LFS-filen är bara några textrader | Git LFS saknas eller filinnehållet har inte hämtats. | Installera Git LFS och kör git lfs pull. |
| Merge conflict i scen eller prefab | Flera har ändrat samma fil. | Ta backup, samordna med gruppen och lös konflikten tillsammans. Återställ inte eller skriv över någon annans arbete på chans. |
| En ny fil finns inte på GitHub | Den är ignorerad, inte committad eller inte pushad. | Kontrollera git status, commit-historiken och att push är klar. |