Git is the most popular source control tool in the world today, so knowing Git is an essential skill for just about every developer. This course covers the fundamentals of Git - what it's for, how it works, and how to use it in your every day work.
We cover all of the day to day usage of Git, from cloning, to committing, to pushing and pulling, and even branching and merging (and the dreaded merge conflict). The course is aimed at developers who are coming to Git for the first time so no prior knowledge is necessary, but it's also useful for those of you who have been using Git and are wanting to gain a slightly better understanding of how things are working and how to think about what Git is doing so that you can troubleshoot when it throws surprises your way.
In the interest of preparing you for day to day usage, we also cover using Git Extensions, a cross-platform third-party UI built on top of the Git command line that you can use to be more productive in your daily work.
For each section we provide practical video demonstrations of each activity, diagrams showing how what we've done has affected the repository, and also some exercises for you to do in order to practice for yourself.
This course should get you up and running with using Git in your daily work, and provide you with enough understanding of the underlying systems and concepts that you are able to utilize the power Git provides.
To know what source control is, and what Git is
To be able to navigate a file system using the command line
To be able to stage and commit your changes to Git
To be able to view the log and history of commits
To know how Git stores your changes on your file system (a basic understanding)
To be able to push your changes to a remote repository
To be able to get others' changes from a remote repository
To know the difference between rebasing and pulling and be able to do both
To be able to deal with merge conflicts when pulling or rebasing
To be able to branch and merge
To be able to stash working changes temporarily
To be able to tag a commit with a human-friendly name
To be able to use Git Extensions, a GUI front end for Git, in order to help you fulfill your daily development tasks quicker
The ability to code in a programming language (at least 1 year of study or experience)
An understanding of files and the file system on Windows
The ability to use the Command Prompt or Powershell in Windows, at a basic level, to navigate a file system and execute commands.
An email address in order to sign up to Github (a free account)