Om G I T och G I T H U B
Git
(bild: git.scm.com)
- Som ersättning för omöjliga versionshanteringar på filnivå skapades Versionshanteringsprogram
- Git är ett versionshanteringsprogram VCS (Version Control System), Subversion (SVN) är andra
- Versionshantering innebär stöd för traceability och möjligheten att backa till tidigare versioner
- Git är inte filversioner
- Stödjer flera användare i ett team eller projekt genom gren-baserat workflow (branching och merging)
- Är de facto standard och benämns vara lightwheight
- Open source, skapat av Linus Thorvalds 2005
- Ersätter inte filhantering
- Kan uppfattas svårt att lära sig
- Mål: master branch - always deployable - deploy i Master branch, utveckling i annan branch
- git is British slang för "pig headed, think they are always correct, argumentative" wiki
- Läs mer på https://www.git-tower.com/learn/git/ebook eller
https://git-scm.com/book/en/v2/
- Lär/träna Git interaktivt online på https://try.github.io
Github
(bild: github.com)
- Centrala datalagringsplatser (fil- och databaser) kallas repository eller repo's
- Github är ett publikt repository och kan nås via webb
- Principen var tidigare öppen lagring gratis - betala för privat. Allt är nu gratis
- Git är inte github
(bild: jahya.net)
Kom igång
Installera Git
http://git-scm.com/download
- Installera med förvalda inställningar
- GUI tools (rekommenderas ej)
Git och VS Code ![](https://image.apphit.com/image/visual-studio-code/visual-studio-code-logo.png)
- Git krävs för tillgång till Git i VS Code
https://code.visualstudio.com/download
- Med Visual Studio Code finns möjlighet att arbeta med terminal eller GUI
Konfigurera Git från Bash/PowerShell/Terminal/DOS-prompt/Cmder
Förutsättningar
Git installerar Bash-kommandoprompt (Linuxkommandon)
http://git-scm.com/download
Windows
Bättre Windowskonsol
http://cmder.net
VS Code
- Öppna VS Code's interna terminalfönster (Windows: CTRL-ö, Linux: CTRL-Shft-´)
Mac
Git
- Öppna terminal och förbered plats och mapp i filsystemet
mkdir [ny mapp]
cd [nya mappen]
Skapa lokal repository i dolda undermappen .git
git init
Tillägget --global ger åtkomst i alla projektmappar
git config --global user.name "johansundstrom"
git config --global user.email "johan.sundstrom@mdh.se"
Visa användarnamn
git config user.name
Visar epostadress
git config user.email
Listar inställningar
git config --list
Ändrar username
git config --global user.name "ninja-johan"
Färg UI
git config --global color.ui auto
Konfigurera Git från VS Code
- Klicka Initialize Repository i VS Code eller...
- Öppna VS Code's interna terminalfönster (CTRL-ö) och skriv konsolkommandon
Git hjälp
git --help
Versionshantering
- Tre stages: Modified --> Staged --> Committed
(bild: github.com)
- Modified - Redigerade mapp(ar)/fil(er) upptäckta av Git (röd)
- Staged - Mapp(ar)/fil(er) märkta för att bli committed (gul)
- Committed - Mapp(ar)/fil(er) i säkert förvar inom versionsdatabasen (grön)
Visa filer som ändrats
git status
Stage'ar fil eller allt
git add [filnamn]
git add .
Visar kort meddelande
git status --short
Commit (lagrar versionen)
git commit --message "commit message"
Lab
Stage'a mapp(ar) fil(er)
- Fil | mapp | wildcard | alla | patch visar redigeringar mot repository
git add [fil] | [mapp] | *.???? | . | --patch
Unstage [mapp(ar)] / [fil(er)]
git reset [mapp] | [fil] | [path/fil]
Commit [fil(er)]
git commit --message "commit message"
Backa historik till tidigare commit (flytta HEAD)
git checkout HEAD [fil(er)]
Visar alla commits och ID (SHA-1)
git log
Visar commit händelser och visar vad som ändrats
git log --patch
sista två händelserna
git log --patch -2
git log --pretty=oneline
Lägger till en graf
git log --pretty=oneline --graph
Visar alla commits från viss användare
git log author="joh"
Fil eller mapp som inte ska behandlas av versionsystemet
.gitignore
Skapa filen .gitignore
touch .gitignore
I filen .gitignore, lista vad som inte ska ingå i repo (ett entry/rad)
[fil] | [mapp]
Visa skillnader mellan arbetsfiler
och staging area
git diff [fil(er)] | [fil(er)]
Visa skillnader mellan staging
area och repository
git diff --staged
Visual Studio Code ![](https://image.apphit.com/image/visual-studio-code/visual-studio-code-logo.png)
- Ett M indikerar modified
- + öppnar Stage A visas
- Markera fil - Stage
- Skriv commit message, skicka
- Klick på M visar förändringar
- "Undoing changes" från repository (kopierar tidigare stage till senaste, raderar inte)