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.