Skip to content

johansundstrom/github_cheatsheet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Om G I T - av johan sundström

Git och github

(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 ett annat
  • Versionshantering innebär stöd för traceability, möjligheten att backa till tidigare versioner
  • Git är inte filversioner
  • Stödjer flera användare i ett team eller projekt genom branch-based workflow (branching och merging)
  • Är de facto standard och benämns vara lightwheight
  • Open source, skapat av Linus Thorvalds 2005
  • Kan vara 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

(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 är öppen lagring gratis - betala för privat
  • Git är inte github

(bild: jahya.net)

Kom igång

Installera

  • http://git-scm.com/download (installera med förvalda inställningar)

Förbered

  • Registrera konto på https://github.com och logga in

GUI tools (rekommenderas ej i tidigt stadium)

  • GitHub for Windows https://windows.github.com
  • GitHub for Mac https://mac.github.com

Git och VS Code

  • http://git-scm.com/download 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

  • http://git-scm.com/download - Installerar Bash-kommandoprompt (Linuxkommandon)
  • För Windows finns en bättre konsol http://cmder.net
  • Öppna VS Code's interna terminalfönster (Windows: CTRL-ö, Linux: CTRL-Shft-´)
  1. Öppna terminal och förbered plats och mapp i filsystemet cd <mapp> och/eller mkdir <mapp>
  2. git init - Skapar lokal repository i dolda undermappen .git
  3. git config --global user.name "johansundstrom" Tillägget --global ger åtkomst i alla projektmappar
  4. git config --global user.email "johan.sundstrom@mdh.se"
  5. git config user.name - Visar användarnamn
  6. git config user.email - Visar epostadress
  7. git config --list - Listar inställningar
  8. git config --global user.name "ninja-johan" - Ändrar username
  9. git config --global color.ui auto - Färg UI

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 <verb> --help
  • git help <verb>

Tre stages: Modified ---> Staged ---> Committed

(bild: github.com)

  1. Modified - Redigerade mapp(ar)/fil(er) upptäckta av Git (röd)
  2. Staged - Mapp(ar)/fil(er) märkta för att bli committed (gul)
  3. Committed - Mapp(ar)/fil(er) i säkert förvar inom versionsdatabasen (grön)

Snabbversionen

  1. git status - Visar filer som ändrats
  2. git add . - Stage'ar allt
  3. git status - Visar status
  4. git status --short - Visar kort meddelande
  5. git commit --message "commit message" - Commit (lagrar versionen)

1. Stage <mapp(ar)>/<fil(er)>

  • git add <fil> | <mapp> | *.???? | . - Fil | mapp | wildcard | alla
  • git add <fil> | <mapp> | *.???? | . Tillägget --patch visar redigeringar mot repository

Unstage <mapp(ar)>/<fil(er)>

  • git reset HEAD <fil> | <path/fil> - Fil återgår till Modified-status (HEAD är aktuell commit)

2. Commit <fil(er)>

  • git commit --message "commit message"

Uncommit <fil(er)>

  • git reset HEAD <fil> - Återställ fil från föregående commit

3. Återställ fil från tidigare commit

  • git checkout -- <fil(er)>

4. Visa logg

  • git log - Visar alla commits och ID
  • git log --patch - Visar commit händelser, visar vad som ändrats
  • git log --patch -2 - Visar commit händelser, visar vad som ändrats, sista två händelserna
  • git log --pretty=oneline - Enklare överblick över commits
  • git log --pretty=oneline --graph - Lägger till en graf
  • git log author="joh" - Visar alla commits från viss användare

5. .gitignore - fil eller mapp som inte ska behandlas av versionsystemet

  1. touch .gitignore - Skapa filen .gitignore
  2. fil | /folder | *.txt - Lista vad som inte ska ingå (ett entry/rad)

Visa skillnader mellan arbetsfiler och staging area

  • git diff <fil(er)>

Visa skillnader mellan staging area och repository

  • git diff --staged

Radera arbetsfiler och repository-filer

  • git rm fil.file Kräver Git add nyfil.file och Git rm gammal.file innan commit

Byt namn på fil

  • git mv oldname.file newname.file

Flyttar fil till mapp

  • git mv oldplace.file folder/newplace.file

Notis visar att förändringar väntar på att skrivas

Visual Studio Code

  • Ett Mindikerar modified
  • + öppnar Stage A visas
  • Markera fil - Stage
  • Skriv commit message, Skicka
  • Klick på Mvisar förändringar

Undoing changes från repository (kopierar tidigare stage till senast. Raderar inte)

  • git log --oneline (en rad) output från ovanstående
d8362b7 upd (commit meddelanden...)
f8a9f38 nya filer
64116aa update
  • git checkout f8a9f38 -- filename.ext
  • git status
  • git checkout master
  • git checkout -- <fil> (återgår till sista commit)
  • git status

Med Visual Studio Code

  • Ett Mindikerar modified
  • Markera fil - Clean

(bild: backlogtool.com)

Snabbversionen - stegen

  1. git branch develop Skapar kopia av master branch i "develop" branch (eller annat namn)
  2. git checkout developswitch till "develop" branch. develop branch är nu aktiv- eller HEAD-branch
  3. ...arbete sker nu i develop branch
  4. git checkout master byt till master branch. Master är nu HEAD branch
  5. git merge develop slår samman "develop" med master branch
  6. git branch --delete develop raderar "develop" branch

Skapa Branch

  • git branch develop Skapar kopia av master i "develop" (eller annat namn)

Switch till Branch

  1. git checkout develop switch till "develop" branch
  • develop är nu aktuell HEAD branch
  • filerna i arbetskatalogen byts nu till de aktuella i develop branch
  1. git rm "*.txt" Raderar alla *.txt i "develop" branch
  2. git commit --message "raderat alla *.txt"

Chechkout master

  • git checkout master - Switch till master branch

Förbered för Merge

  • git merge develop - Slår samman

Branch städning

  • git branch --delete develop (raderar branch develop)

Slutlig upload till repository

  • git push

Snabbversion

  1. git clone <url> - Skapar lokal mapp samt .git och hämtar filer från centralt repo
  2. git pull <remote> <branch> - Hämtar förändringar från origin och uppdaterar arbetsfiler i HEAD
  3. git push <remote> <branch> - Publicera lokala förändringar på ett anslutningsnamn

Översikt kommandon

Anslutning(ar) - 'origin' är default anslutningsnamn

  • git remote add origin <url> - Använd URL från github.com (origin är default anslutningsnamn)
  • git remote add <remote> <url> - Använd url från github.com (<remote> är anslutningsnamnet)
  • git remote - Listar anslutningsnamn
  • git remote --verbose - Visar anslutningsnamn och URL
  • git remote rm <remote> - Raderar anslutning 'remote'
  • git remote rename <old-remotename> <new-remotename>

Hämta till lokal repo från anslutning

  • git clone <url> - Skapar lokal mapp samt .git och hämtar filer från centralt repo
  • git fetch <remote> - Hämtar förändringar från origin men uppdaterar INTE arbetsfiler i HEAD (kräver omstart av t.ex. VS Code)
  • git pull <remote> <branch> - Hämtar förändringar från origin och uppdaterar arbetsfiler i HEAD

Skicka från lokal repo till central repo på given anslutning

  • git push <remote> <branch> - Publicera lokala förändringar på ett anslutningsnamn
  • git push --set-upstream <remote> <branch> - Parameter -u i minnet, Git push nästa gång)

Manipulera remote

  • git branch -dr <remote/branch> - Radera remote branch
  • git diff HEAD - Visar skillnader i arbetsverktyget
  1. Git pull (ändringar?) git (visar kommandon) git VI esc:wq = write quit

Klona från externt repository git clone https://github.com/johansundstrom/RPi_Node (hämtar från repository)

???Anslut till github

  1. Git remote add origin https://github.com/johansundstrom/try_git.git
  2. Git push -u origin master (-u remember parameters, next time: Git push)
  3. Git pull origin master

NEW BRANCH - PULL REQUEST

  1. Create branch (name: feature?) 2) Make changes and commit 3) Open "Pull Requests tab" and click "New pull request" (for someone to review, show diffs) 4) Select branch 5) Verify 6) Click "Create pull request" 7) Add description, click "Create pull request".
  2. "Merge pull request"

About

GIT kommandon. Min alldeles egna notering om git.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published