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