## Grunnleggende om GIT for nybegynnere innen webutviklingđŸ‘¶ ## Hva er `Git`? 1. Git er et distribuert versjonskontrollsystem. 2. Hele kodebasen og historikken er tilgjengelig pĂ„ hver utviklers datamaskin, noe som gjĂžr det enkelt Ă„ opprette og slĂ„ sammen grener. 3. Det brukes som et versjonskontrollsystem (VCS) for Ă„ spore endringer i datamaskinfiler. * Distribuert versjonskontroll * Koordinerer arbeid mellom flere utviklere * Hvem gjorde hvilke endringer og nĂ„r * GĂ„ tilbake til tidligere versjoner nĂ„r som helst * Lokale og eksterne repositorier ## KONSEPTER I GIT * Holder oversikt over kodehistorikk * Tar "snapshots" av filene dine * Du bestemmer nĂ„r du vil ta et snapshot ved Ă„ lage en "commit" * Du kan besĂžke ethvert snapshot nĂ„r som helst * Du kan klargjĂžre filer fĂžr du gjĂžr en commit ### Forskjellen mellom Git og GitHub | Git | GitHub | | ------- | ----------- | | Git er en programvare | GitHub er en skytjeneste | | Git er installert lokalt pĂ„ systemet | GitHub er tilgjengelig pĂ„ nettet | | Det er et kommandolinjeverktĂžy | Det er en grafisk brukergrensesnitt | | Git vedlikeholdes av Linux | GitHub vedlikeholdes av Microsoft | | Fokusert pĂ„ versjonskontroll og deling av kode | Fokusert pĂ„ sentralisert hosting av kildekode | | Git er Ă„pen kildekode | GitHub har bĂ„de gratis- og betalte nivĂ„er | | Git ble lansert i 2005 | GitHub ble lansert i 2008 | ## GIT-installasjon * Linux (Debian) `$sudo apt-get install git` * Linux (Fedora) `$sudo yum install git` * [Last ned](http://git-scm.com/download/mac) for Mac * [Last ned](http://git-scm.com/download/win) for Windows ### Installasjonsprosess: 1. 2. 3. 4. 5. 6. Deretter fortsett med Neste > Neste > Neste > Installer 7. ### Etter installasjon mĂ„ vi konfigurere Git ved hjelp av Git Bash 1. `git config --global user.name 'YourName'` 2. `git config --global user.email 'YourEmail'` ___ ## Git-kommandoer ___ ### Hente og opprette prosjekter | Kommando | Beskrivelse | | ------- | ----------- | | `git init` | Initialiser et lokalt Git-repositorium | | `git clone ssh://git@github.com/[username]/[repository-name].git` | Opprett en lokal kopi av et eksternt repositorium | ### Grunnleggende snapshotting | Kommando | Beskrivelse | | ------- | ----------- | | `git status` | Sjekk status | | `git add [file-name.txt]` | Legg til en fil i staging-omrĂ„det | | `git add -A` | Legg til alle nye og endrede filer i staging-omrĂ„det | | `git commit -m "[commit message]"` | UtfĂžr endringer | | `git rm -r [file-name.txt]` | Fjern en fil (eller mappe) | | `git push` | Skyv til eksternt repositorium | | `git pull` | Hent siste endringer fra eksternt repositorium | ### Grening og sammenslĂ„ing | Kommando | Beskrivelse | | ------- | ----------- | | `git branch` | List opp grener (asterisken viser den aktive grenen) | | `git branch -a` | List opp alle grener (lokale og eksterne) | | `git branch [branch name]` | Opprett en ny gren | | `git branch -D [branch name]` | Slett en gren | | `git push origin --delete [branch name]` | Slett en ekstern gren | | `git checkout -b [branch name]` | Opprett en ny gren og bytt til den | | `git checkout -b [branch name] origin/[branch name]` | Klon en ekstern gren og bytt til den | | `git branch -m [old branch name] [new branch name]` | Gi nytt navn til en lokal gren | | `git checkout [branch name]` | Bytt til en gren | | `git checkout -` | Bytt til den sist besĂžkte grenen | | `git checkout -- [file-name.txt]` | Forkast endringer i en fil | | `git merge [branch name]` | SlĂ„ sammen en gren med den aktive grenen | | `git merge [source branch] [target branch]` | SlĂ„ sammen en gren med en mĂ„lgren | | `git stash` | Lagre endringer midlertidig i et skittent arbeidsomrĂ„de | | `git stash clear` | Fjern alle midlertidige lagrede endringer | ### Deling og oppdatering av prosjekter | Kommando | Beskrivelse | | ------- | ----------- | | `git push origin [branch name]` | Skyv en gren til ditt eksterne repositorium | | `git push -u origin [branch name]` | Skyv endringer til eksternt repositorium (og husk grenen) | | `git push` | Skyv endringer til eksternt repositorium (husket gren) | | `git push origin --delete [branch name]` | Slett en ekstern gren | | `git pull` | Oppdater lokalt repositorium til nyeste commit | | `git pull origin [branch name]` | Hent endringer fra eksternt repositorium | | `git remote add origin ssh://git@github.com/[username]/[repository-name].git` | Legg til et eksternt repositorium | | `git remote set-url origin ssh://git@github.com/[username]/[repository-name].git` | Sett en repositoriums opprinnelsesgren til SSH | ### Inspeksjon og sammenligning | Kommando | Beskrivelse | | ------- | ----------- | | `git log` | Vis endringer | | `git log --summary` | Vis endringer (detaljert) | | `git log --oneline` | Vis endringer (kortfattet) | | `git diff [source branch] [target branch]` | ForhĂ„ndsvis endringer fĂžr sammenslĂ„ing | --- **Ansvarsfraskrivelse**: Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selv om vi tilstreber nĂžyaktighet, vĂŠr oppmerksom pĂ„ at automatiserte oversettelser kan inneholde feil eller unĂžyaktigheter. Det originale dokumentet pĂ„ sitt opprinnelige sprĂ„k bĂžr anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for misforstĂ„elser eller feiltolkninger som oppstĂ„r ved bruk av denne oversettelsen.