Perl Training Logo: Praying Mantis
Version Control with Git

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


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

Course format

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


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


  • 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)
  • Workflow
  • The standard workflow using Git
  • Git flow a recommended workflow

Request more information about Version Control with Git