Code Maven

Version Control with Git

This, along with the other courses can be given either on-site in the offices of the client or on-line via Zoom or other means. Contact Gabor Szabo for more details.

Overview

This course will help you get started using Git for version control. It is good for people who have used other version control tools and also for people who have never used any version control system. This course provides the necessary knowledge to get started using Git. To make sure one is not afraid of the tool and can use it to her/his advantage.

Goals

  • Daily work as developer (checkout/add/commit/diff/etc...)
  • Setup branches and merge them together
  • Be able to create a local Git repository

Audience

  • Teams of software developers and programmers who need to work co-operatively on projects.

Prerequisites

  • An understanding of the soruce code-management issues in team-based software development.

Course format

  • Duration of the course is 8 academic hours. Usually 1 full day.
  • The course includes approximately 40% hands on lab work.

Syllabus

About Git

  • The concepts of Git
  • Basic concepts of Git
  • Git Internals
  • Copy-Modify-Merge vs Lock-Modify-Unlock
  • Why use Git?
  • Who uses Git?

The basics

  • Installing Git on Windows, Linux and Mac
  • Setting up your profile (configuing git)
  • Creating a local repository

Daily use of Git

  • status
  • add (Adding files, directories to staging)
  • rm (Removing files, directories)
  • mv (Renaming files and directories)
  • checkout
  • commit (checking in changes)
  • diff (Viewing changes)
  • log (Viewing the log, Finding out what you, and others did)
  • Making a change

Working with branches

  • Branching
  • Merging
  • Conflict resolution
  • Tagging

Working with a remote repository

  • Cloning a remote repository
  • pull
  • push
  • Peer networks
  • Star networks

Other

  • Ignoring generated and other unwanted files
  • Using gitk to explore history
  • Stashing files while doing something else
  • Finding out who did what (browsing log messages)
  • reset (Removing commits from the repository)
  • revert (Examining and reverting changes)
  • Binary files
  • Getting snapshots (dates and tagging)

Resources


If you are interested in this course, contact Gabor Szabo for more details.