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.
Anyone requiring version control.
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.
Getting started, creating an account, account types, repositories, access control, bug tracking, feature requests. Alternatives to GitHub.
Hands on Using GitHub.
Linux install, Windows install, git config, levels, user.name, user.email.
Hands on Installing and configuring git.
git clone, github, git remote, git init.
Hands on Creating a repository.
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.
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.
git reset, git rebase, advantages.
Hands on Reset commits, rebase a branch.
What is a conflict, conflict resolution process, resolving merges, rebasing, git log, merge tools, configuring merge tools, avoiding conflicts.
Hands on Merge resolution.
"Great hands on and chance to apply what I already knew in Python."
"Great course, learned a lot, and do it again if technology changed."
This structured course uses Instructor Led Training to provide the best possible learning experience. Small class sizes ensure students benefit from our engaging and interactive style of teaching with delegates encouraged to ask questions throughout the course. Quizzes follow each major section allowing checking of learning. Hands on sessions are used throughout to allow delegates to consolidate their new skills.