Version Control with Git


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


  • Teams of software developers and programmers who need to work cooperatively on projects.

Course Format

  • Duration of the course is typically 8 academic hours. Usually 1 full day or two half-days.
  • The course includes approximately 40% hands-on lab work.


  • An understanding of the source 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 (configuring 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


  • 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)

Let's talk

If you would like to bring this course to your organization, let's talk about it! You can reach me via email at or you can go ahead and schedule a chat:

Schedule a call