(1-Day) Distributed Version Control With Git

Engineers of all disciplines use version control to manage the development of their products. This hands-on course provides all you need to know.

In this one-day course, you will be introduced to a version control tool called Git. It is unique in that it enables distributed development in any domain. You will discover how to use Git effectively, which will make you more productive in your work. This training introduces the required knowledge and tools that you will need to use Git on a daily basis.

Throughout the day theory will be complemented by “peer-instruction”; a teaching method that improves your learning experience by asking you to solve examples. This will provide you with valuable experience that you can apply to your own problems.

Who will benefit

This course is aimed towards practising engineers, in which we will delve into the design and implementatino of version control. We will also make heavy use of the Git command line tool. All commands will be demonstrated by the instructor. Further help is always available.

This is an introductory course, which is suitible for most users with limited IT experience. Some experience of the command line is helpful, but not necessary. No software development experience is required.

What you will achieve

The day will comprise of a series of sub-hour theoretical sessions separated by practical exercises. It will cover a range of topics, but it is expected that you will be able to:

  • Use Git to version your work
  • Understand other version control technologies
  • Work with other developers in a distributed manner
  • Have a mastery of the version control repository
  • Alter the history
  • Develop on branches and integrate with remote tooling
  • Discuss best practices when developing with Git

Topics covered in this training

  • Introduction to version control
  • Comparison of technologies
  • Adding, removing files
  • Commits
  • Logging
  • Working with the repository
  • Checkout, reset and clean
  • Fixing mistakes
  • Distributed version control
  • Remotes, fetching, pushing and pulling
  • Branches, merging and submodules
  • Tagging and conflicts
  • Workflows and common practises
  • PRs and pipelines
  • Best practices
  • Tooling