Git version control for software developers and administrators

Objectives

Git is the most popular modern version control system. Originally developed by Linus Torvald for the 4,000 of Linux kernel developers, Git took the world by storm and became a de-facto standard for new software projects, especially in the Big Data world.

This course will introduce the student to the concepts and practical commands of Git, provide best practices and guidelines.

Audience

Software developers

Duration

One day

Format

Lectures and hands-on labs.

Prerequisites

  • Basic computer (Windows or Mac or Linux) literacy
  • Optional command-line skills
  • Desire to learn and use a version control
  • Zero Install: There is no need to install Hadoop software on students’ machines! A working git repository will be provided for students.

Students will need the following

an SSH client (Linux and Mac already have ssh clients, for Windows Putty is recommended)

Detailed outline

What is Version control and why use it

Git Terminology

  • Repository
  • Working Copy
  • Index/Staging are
  • Blobs, Trees
  • Cloning
  • Remotes
  • Pulling + Pushing
  • Local history vs. Public history

Basic Git operations

  • Viewing a commit
  • Switching branches

Making changes, staging and committing

  • Staging a commit
  • Making a commit
  • Pushing your change
  • Undoing a latest local commit
  • Reverting a commit

Merge and Conflict resolution

  • How merge conflicts happen
  • Preventing merge conflicts
  • How to resolve a merge conflict