Kurs i

GIT Advanced

GIT är det helt dominerande versionshanteringssystemet för programkod, på grund av att det underlättar för team att arbeta isolerat med delar av koden utan att störa arbetet med andra delar av koden. När det sen är dags att infoga resultatet gör GIT det mesta av editeringsarbetet via en merge eller rebase operation.

Den här kursen fördjupar dina kunskaper i GIT och hur du använder det för att arbeta effektivt i både små och stora programutvecklingsteam. Du får också lära dig att arbeta effektivt mot GIT fjärrservrar, samt kunna ta dig ur olika misstag.

Detta får du lära dig på kursen
  • Konfigurera GIT och skapa egna macron
  • Förstå hur GIT fungerar
  • Behärska förgrening och förening, via branch följt av merge eller rebase
  • Importera befintlig kod till en GIT fjärrserver, såsom GitHub, GitLab, m.fl.
  • Arbeta effektivt med en GIT fjärrserver
  • Delta i kollaborativ programutveckling och kunna skapa pull requests
  • Kunna ta dig ur besvärliga GIT situationer
Innehåll

GIT Refresher

Snabb repetition av grundläggade GIT
  • Installation of a GIT client
  • Seting up a GIT project
  • Frequently used commands

GIT Configuration

Hur du kan anpassa GIT enligt dina önskemål
  • Global or local scope
  • User configuration
  • Typical tweaks, such as colors and prompt
  • Ignoring files
  • Let GIT separate text from binary files
  • Creating your own GIT macros with GIT aliases

Understanding GIT Data Structures

En liten titt bakom kulisserna för att förstå GIT bättre
  • The Commit DAG (Directed Acyclic Graph)
  • Blobs and Trees
  • Understand the commit ID, i.e. SHA-1 hash
  • The organization of the .git/ directory

Staging and Commiting

En grundlig genomgång av hur du flyttar filer fram och åter mellan staging area och commit point
  • How to refer to commit points
  • Listing commits
  • Viewing a file during its commit history
  • Finding who did a change
  • Moving in and out of the staging area
  • Quick commits
  • Interactive add
  • Recommendations for commit messages

Tags

Vad är tags och vilken nytta har de
  • What is a GIT tag
  • Simple tags
  • Annotated tags
  • Tag operations

Stashing

Hur du kvickt sparar aktuellet arbete för att åtgärda en quick-fix
  • What is GIT stashing
  • Pushing to the stash stack
  • Inspecting the stash stack
  • Popping from the stash stack

Branching

Hur du skapar grenar i GIT historiken
  • What is a branch
  • What is HEAD
  • Creating a branch
  • Switching to branches
  • Listing branches
  • Renaming branches
  • Deleting branches

Merging

Hur en gren återförenas med en huvudgren
  • What is a merge operation
  • Merge scenarious
  • Fast-forwarding merge
  • True merge
  • Initiating a merge
  • Aborting a merge
  • Resolving merge conflicts

Rebasing

Hur en gren återförenas med en huvudgren, genom att "skriva om" historien
  • What is a rebase operation
  • How rebase differs from merge
  • Performing a rebase operation
  • Aligning two branches

Branching Best Practices

Recommendationer gällande förgrening i projekt
  • Branch categories
  • Development vs. production branches
  • Hotfix and QA branches

Using GitLab

Vi använder primärt GitLab som fjärrserver, eftersom man kan skapa privata projekt gratis
  • Setting up a GitLab account
  • Creating a GitLab project
  • Rudimentary configuration

Starting s Remote GIT Project

Olika sätt att komma igång med ett GIT projekt kopplat till en fjärrserver
  • What is a remote GIT repository
  • SSH vs. HTTPS
  • Generating SSH keys and register them with GitLab
  • Cloning an existing repo
  • Create a new repo and clone it
  • Attach a local repo to a newly created remote

Working with Remote Repos

De vanligaste kommandona för att arbeta med en fjärrserver
  • Listing remote repo associations
  • Associating and disassociating remote repos
  • Uploading commits (push)
  • Downloading commits (pull)
  • Understanding pull in terms of fetch and merge

GIT Hooks

Hur du kan koppla script att köra i samband med specifika GIT händelser
  • What is a GIT hook
  • Hookable GIT events
  • How to print a message before commit
  • Preventing unwanted commit messages

Pull Requests

Hur du arbetar med främmande repos
  • What is a fork operation
  • What is a pull request
  • Contributing code to a non-authorized repo
  • Submitting a pull request

Recovering from Mistakes

Hur du tar dig ur besvärliga GIT situationer
  • Undo code changes
  • Undo add
  • Undo last commit
  • Undo push
  • Undo merge
  • Undo rebase
  • Undo merge commit
  • Reset a project to specified commit point
  • Fixing a commit to the wrong branch
  • Preventing GIT from removing empty dirs
  • Creating a source archive file, without its GIT history

Searching the Commit History

Hur du letar i historiken och hittar var en gammal bug uppstod
  • Understanding the log command
  • What is GIT bisect
  • Bisect initialization
  • Bisect bug hunting
  • Finishing an active bisect operation
  • Scripting bisect bug hunting
SnabbFakta
Namn
GIT Advanced
Längd
2 dagar
Nivå
Advanced
Målgrupp
Applikationsutvecklare, designers och personer som redan använder GIT
Förkunskaper
Allmänna kunskaper i datoranvändning via ett terminalfönster
Teknisk miljö
  • Windows, OSX eller Linux
  • GIT
  • PuTTY eller likvärdig SSH klient
Relaterade Kurser
Kurs LängdNivå
GIT Kickstart1 dagarBeginner
Jenkins CI/CD Server1 dagar Beginner
Schemalagd Kurs

Pris

12000 kr + moms

Aktuella KursDatum
StartdatumPlats
2 mar 2017Stockholm City
6 apr 2017Stockholm City
23 maj 2017Stockholm City
26 jun 2017Stockholm City
Företagsintern Kurs

Om du beställer en företagsintern kurs kommer vi till er och håller kursen i era egna lokaler. Priset bestäms av vår prismodell och baseras på antalet kursdagar, antalet deltagare, samt i förekommande fall resa och logi.

Prisexempel för NN deltagare

PPP kr + moms

Antal
Område

Läs mer om vår prismodell och beställningsvillkor här .