Version Control with Git and GitHub

Course Description Overview

Course Number:
035436
Course Length:
2 days
Course Description Overview:

Version control refers to the tracking and traceability of changes. It is, in a way, akin to the use of a bookmark in a book, added by a reader, to mark the point to return to when they resume reading. In version control, a metaphorical bookmark marks a reference to a snapshot of the code base. Git is a version control tool. Using Git, you can make, track, retrieve, and share changes on a repository. GitHub is a hosting service on which a repository resides.

 

This is a two-day course that will provide you a thorough understanding of what version control is, why it's necessary, and how it lends itself to application development and version management. With thorough explanations and interesting activities, you will learn all about using using Git and GitHub optimally. By the end of the course, you will have the right skills to safeguard your application and ensure its speedy development.

This is a fast-paced, practical course, aimed at developers using version control tools. As you progress, you’ll find helpful tips and tricks, as well as useful self-assessment material, exercises, and activities to help you benchmark your progress and reinforce what you’ve learned. The activities have been devised to simulate real-world conditions in order to equip you with the necessary skills to accelerate software deployment while still retaining security, portability, and affordability.
Course Objectives:

If you are interested in gaining a good grasp of version control in a systematic and practical way by working through real-world scenarios, then this course is for you.

 

This course will enable you to:

  • Understand and implement version control best practises
  • Navigate the GitHub UI
  • Understand what the Feature Branch Workflow is and implement its features
  • Use forking features, such as submodules and rebasing
  • Master commands for debugging and maintaining a repository
  • Implement continuous integration with CircleCi or TravisCi
  • Gain insight into release management and how GitHub enables software releases
Target Student:
This course is meant for professional developers who want to migrate from other version control tools, or want to learn more about Git. You will find this course useful and interesting. Prior experience in coding or familiarity with using the bash command-line interface will enable you to easily grasp concepts.
Prerequisites:
-
Course-specific Technical Requirements Software:
  • Operating System: Linux, Ubuntu, or macOS X
  • Browser: Google Chrome (latest version)
  • Atom IDE (latest version)
  • Git (latest version)

 

Installation and Setup

Before you start with this course, we'll install Atom IDE and Git. You will find the steps to install these here.

 

Installing Atom IDE

  1. To install Atom IDE, go to https://atom.io/ in your browser.
  2. Click on Download Windows Installer for Windows, to download the setup file called AtomSetup-x64.exe.
  3. Run the executable file.
  4. Add the atom and apm commands to your path.
  5. Create shortcuts on the desktop and start menu.


Installing Git

  1. To install Git via the package installer, go to https://git-scm.com/download/linux
  2. Run the following command: # apt-get install git on the terminal window.
  3. Enter your password if prompted.
Course-specific Technical Requirements Hardware:

For successful completion of this course, students will require computer systems with the following:

  • Processor: Intel Core i3 or equivalent
  • Memory: 4 GB RAM
  • Storage: 35 GB available space
Certification reference (where applicable)
-
Course Content:

LESSON ONE - INTRODUCTION TO VERSION CONTROL

  • Defining Version Control
  • Navigating GitHub


LESSON TWO - VERSIONING COMMITS

  • Introduction to Versioning Commits


LESSON THREE - FETCHING AND DELIVERING CODE

  • Fetching the Code


LESSON FOUR - BRANCHES

  • Utilizing Workflows


LESSON FIVE - COLLABORATIVE GIT

  • Forking the Workflow
  • Debugging and Maintenance
  • Housekeeping


LESSON SIX - AUTOMATED TESTING AND RELEASE MANAGEMENT

  • Test Automation
  • Automated Pull Requests
Registration
Register Now