Git for Windows: Step-By-Step Mastery using Commands and GUI
Start from nothing and master the foundation of Git source control, GitHub service, graphical clients and related tools
What you’ll learn
- Learn the key concepts of the Git source control system
Step through the entire Git workflow
Install Git and configure a text editor for efficient use with Git
- Compare the different states in Git
- Manage files inside and outside the control of Git and GitHub
- Create and manage repositories on GitHub
- Create branches and resolve conflicts with confidence
- Work with branches on GitHub
- Walk through the pull request workflow on GitHub
- Perform many of the same local Git operations directly on GitHub
- Use various Git graphical clients in addition to and in combination with the command line
- Basic computer skills
- Ability to install software on your computer
- Admin rights may be required for software installation
This course is designed to be a comprehensive, step-by-step approach to learning the Git source control specifically designed for Windows users, which means no prior knowledge or experience is required but students will emerge at the end with a very solid understanding and hands-on experience with Git and related source control concepts. Since this course is design for Windows users in mind, we will cover both command line and graphical clients for Git while learning the underlying concepts. If you use other operating systems too, most of the concepts will transfer over without much effort.
Course Introduction and Overview provides an introduction to this course and the Git source control system and sets the stage for the rest of the course.
After the introduction, this first thing we do is run through the Installation process. If you don’t want to watch installation videos, you can simply follow the installation notes at the end of that section.
For those not familiar with the command line or Bash shell environment, I provide a handy Git Bash section for those interested.
Quick Start a very quick (15 minutes), hands-on introduction to Git. We start off by signing up for GitHub, creating a repository there, the makiing a local copy (clone), local changes (add/commit) and then update GitHub with our changes (push). This is the most common workflow developers will do using Git.
Once we have worked through the basic add/commit/push workflow, we can do the same steps, and a few more, using the Windows Command Prompt and PowerShell— really to show how the Git-related command work identically regardless of the shell used.
To prepare for the rest of the course, and a more common developer setup, we will install and configure a Text Editor (Atom) to work seamlessly with Git.
In Basic Commands, we walk through all the foundational commands needed to start a new project managed by Git (or enable Git for an existing project) all the way through making commits, including common file operations like moving and deleting files. We also cover how to exclude the wrong files from accidentally being committed and how to review your repository’s history.
With a strong foundation in place, we explore ways to make Comparisons in Git, including all the different local states, between commits, and between local and remote repositories.
We give great attending to Branching and Merging in Git. We start off with the simple “happy path” and learn about “Fast-Forward” merges and how to control them. The we walk through common “automatic” merges. Then, we cause trouble on purpose so we can step through resolving conflicting merges with our visual merge tool. Finally, we work with branches on the GitHub hosting service.
With a solid foundation in place using Git on the command line, we will look at various Git graphical clients starting with the official Git GUI client on Windows. With Git GUI, we cover many of the same commands, but simply using the graphical client instead of the command line.
Another way to interact with Git is via the Windows Shell or Windows File Explorer in which we can use the default Git integration provided by Git for Windows and even deeper integration using TortoiseGit.
Presentations provide audio/video training of conceptual ideas. Since few like slide-ware presentations, slide-presentations are kept to a minimum.
Screencasts provide a video of the instructor’s computer system with any actions, commands, or screens displayed and narrated. There is over 6 hours of screencast based video training in order to step through each command or action in sufficient detail.
All videos are available in high quality 1080p / Full HD resolution for sharp and clear viewing on modern desktops and tablets although resolution delivery is dependent on student’s device capabilities detected by the Udemy video player.
Several attachments and document lectures throughout the course provide supplemental information, illustrations, or other reference material.
This course will expand periodically to include more topics, supporting materials and bonus content! Some content may be in direct response to student feedback or discussions — so get engaged with the course discussions (Q&A) feature!
- Anyone interested in using source control and specifically Git and GitHub, especially Windows users
- Software engineers, developers, programmers new to Git or GitHub
- IT Managers or technical leads considering Git or GitHub for version control on their team