GIT AND GITHUB COURSE DESCRIPTION
This course covers version control using Git but also using GUI frontends such
as GitHub. The course starts with a tour of using GitHub but then quickly moves
onto using git from the command line. All elements of git version control are
covered including creation of repositories, adding and editing files, branches
and merging, rewriting history and handling merge conflicts. Hands on sessions
are used throughout the course.
WHAT WILL YOU LEARN
* Install git.
* Add and edit files in a repository.
* Create branches and perform merges.
* Handle merge conflicts.
GIT AND GITHUB COURSE DETAILS
* Who will benefit:
Anyone requiring version control.
* Prerequisites:
None.
* Duration
1 day
GIT AND GITHUB COURSE CONTENTS
* Introduction
Version control for software, configuration management. Other uses. Version
control systems. What is git? What is GitHub? Distributed version control.
Comparison of git to other systems.
* GitHub
Getting started, creating an account, account types, repositories, access
control, bug tracking, feature requests. Alternatives to GitHub.
Hands on Using GitHub.
* Installing git
Linux install, Windows install, git config, levels, user.name, user.email.
Hands on Installing and configuring git.
* Creating repositories
git clone, github, git remote, git init.
Hands on Creating a repository.
* Adding and editing files
Staging and adding, git add, git commit, git push, git pull, git status, git
log. Two stage process. File states: Working, staging, history, untracked.
git mv, git rm, .gitignore, git diff, git difftool. Undoing changes.
Hands on Adding and editing files in git.
* Branching and merging
What is a branch, HEAD label, master branch, git branch, git checkout.
Feature branches, bux fix branches, integration branches, production
branches, fast forward merges, 3 way merges, git merge, git status, git log,
tags.
Hands on Making branches, merging.
* Rewriting history
git reset, git rebase, advantages.
Hands on Reset commits, rebase a branch.
* Merge conflicts
What is a conflict, conflict resolution process, resolving merges, rebasing,
git log, merge tools, configuring merge tools, avoiding conflicts.
Hands on Merge resolution.