Smart kurs från Ribomation om

Kurs i GIT

Praktiskt inriktad kurs i att använda versionhanteringssystemet GIT för daglig programutveckling

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 ger omfattande 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
  • 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
  • Kunna ta dig ur besvärliga GIT situationer
  • Delta i kollaborativ programutveckling och kunna skapa merge/pull requests
  • Konfigurera GIT och skapa egna macron
Innehåll Expand All

Background and Overview

Hur och varför GIT skapades och vilka målsättningarna var

  • History
  • Properties
  • How GIT differs from most other VCS

Basic Operations

Hur du arbetar med ett lokalt GIT projekt

  • Installation and configuration of a GIT client
  • Creating a local GIT project
  • Rudimentary configuration
  • Viewing help info
  • Staging files
  • Checking the project status
  • Commiting files

Working with Commits

Hur du arbetar med commits och deras historia

  • What is a commit
  • Understanding HEAD
  • Blobs and trees
  • Understand the commit ID, i.e. SHA-1 hash
  • The organization of the .git/ directory
  • Commit messages
  • How to pass multi-line commit messages on the command-line from other sources
  • Quick commits
  • Interactive add
  • Viewing the commit history
  • Tagging
  • Simple vs. annotated tags
  • How to view a file for a specific revision
  • How to find out what has changed in a file
  • How to find how much has changed in a commit
  • How to find out who made a change

Configuration

Hur du anpassar GIT efter dig

  • Setting and reading configuration properties
  • Local and global properties
  • How to exclude generated files, such as *.class, *.o, *~
  • How to let GIT identify text files and separate out binary files
  • How to prevent GIT from removing empty directories
  • How to define your own GIT shortcuts
  • Creating your own GIT macros with GIT aliases

Branching

Hur du skapar grenar i GIT historiken

  • What is a branch
  • Creating a branch
  • Switching to branches
  • Listing branches
  • Renaming branches
  • Deleting branches
  • What is "detached HEAD"

Merging

Hur en gren återförenas med en huvudgren

  • What is a merge operation
  • Pre-merge scenarios
  • Fast-forwarding merge
  • True merge
  • Non-conflicting and conflicting merge operations
  • Initiating a merge
  • Aborting a merge
  • Resolving merge conflicts

GIT Flow

Genomgång av hur den populära GIT Flow principen fungerar

  • Branch categories
  • Development branches
  • Understanding GIT Flow
  • GIT Flow shell extensions
  • GIT Flow steps and operations

Rebasing

Hur du genom rebase som ett laternativ till merge

  • What is a rebase operation and how do it differs from a merge operation
  • Performing a rebase operation, step-by-step
  • Aligning branches
  • Interactive rebase
  • Editing commit messages
  • Squashing commits
  • Reorder commits
  • Skipping commits

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 a 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 a server such as GitLab
  • Cloning an existing repo
  • Create a new repo and clone it
  • Attach a local repo to a newly created remote repo
  • Creating a bare repo and clone it locally

Working with Remote Repos

De vanligaste kommandona för att arbeta med en fjärrserver

  • Adding and removing associations to remote repos
  • Understanding tracking of remote branches
  • Uploading commits (push)
  • Downloading commits (fetch)
  • Understanding what happens during a fetch operation
  • Merging a remote branch with a local branch
  • Using pull

Collaboration between Remote Repos

Här tar vi upp hur du samarbetar i större projekt

  • What is a fork operation
  • What is a merge request, aka pull request
  • Contributing code to a non-authorized repo
  • Submitting a merge/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

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

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

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

GIT Tools

En översikt över olika GIT verktyg

  • Graphical GIT clients
  • Running you own GIT server
  • Using the GitHub Desktop
  • Simplify GIT with GitEye and GitAhead
  • Show diffs and perform merge operations with Meld and Diffuse
  • Incremental merge with git-imerge
  • Running your own server in seconds with GitBlit
  • Running your own full-scale server with GitLab
SnabbFakta
Namn
GIT Usage
Längd
2 dagar
Nivå
Intermediate
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
Schemalagd Kurs

Pris

15 000 kr + moms

Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurstillfälle. Läs mer om vår samma-företags-rabatt.

Aktuella KursDatum
StartdatumPlats
2018-01-03Stockholm City
2018-02-01 Stockholm City
2018-02-22Stockholm City
2018-03-26Stockholm City
Relaterade Kurser
KursLängdNivå
Jenkins CI/CD Server1 dagar Beginner
BASH Shell Scripts Programming1 dagarIntermediate
Företagsintern Kurs

Om du beställer en företagsintern kurs kommer vi till er och håller kursen i era 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 + moms

Antal
Område

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