EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

Advanced GIT & GITLAB

Course outline

2 days

Duration

2 days

Outline

Note: This will be completely hands-on training, with 80% practical and 20% theo-ry. The scenarios will be demonstrated using MS Visual Studio as GIT client, as well as with GIT Command Line Interface, wherever required.

Undoing GIT Commits

  • Git Reset
  • Hard
  • Soft
  • Mixed
  • Git Revert
  • Unstaging changes

Git Checkout and its uses

  • Discarding modified changes
  • Checkout a file
  • Checkout a commit
  • Checkout branch

GIT Branches

  • Introduction to GIT Branches
  • Branching Strategy and best practices
  • Feature branching
  • GIT Workflow
  • Cactus branching
  • Forking workflow
  • Create and checkout to a branch
  • Committing on a branch

Branch Merge Strategies

  • Fast forward merge
  • Recursive merge
  • Octopus merge

Dealing with Merge Conflicts

  • Scenarios when conflicts can occur
  • Resolving conflicts manually
  • Resolving conflicts with Kdiff3 and Visual Studio
  • Configuring merge tools with GIT CLI

Working with GITLAB as a Remote GIT Server

  • Cloning Options
  • Difference between Pull and Fetch
  • Synchronizing repository with GIT Rebase
  • Managing multiple developer commits

Remote branching workflow

  • Create branch on server and pulling the branch
  • Pushing changes to the branch
  • Merging branch on server through Merge Request
  • Forking a repository

Maintaining Repository and Improving Performance

  • Rebase Interactive
  • Squashing commits
  • Changing older commits
  • changing commit comments for older commits
  • Performance overview in GIT
  • Dangling & unreachable Objects
  • Reflog
  • Purging history
  • GIT gc (Garbage collection)
  • git fsck
  • git prune

Securing the repository

  • Repository Permissions
  • Setup SSH Keys

GIT Hooks

  • Local hooks vs server hooks
  • Create local hooks for pre commit and post commit events

GIT Submodules

  • Adding another repository into a GIT repo using submodules
  • Updating commits of a sub module repository
  • Deleting submodules

Splitting Repositories

  • git filter-branch
  • Introduction to subtree
  • splitting repositories using subtree

Programme scope, delivery arrangements and suitability are confirmed during enquiry.