
Explore how Git, a free, open source distributed version control system, manages code history with speed and efficiency, while GitHub provides access beyond a single machine.
Maximize your learning by watching at your pace, coding along, and practicing Git and GitHub concepts; debug errors, explore solutions, and leverage resources and the Discord community for support.
Create folders and files using mkdir and echo, navigate with cd, view content with dir and type, and remove items with del and rmdir to manage a project directory.
Understand how Git turns a plain folder into a working directory, uses commits as snapshots, and organizes changes in the master branch, enabling efficient version tracking.
Understand how the working directory and repository use the staging area (index) and objects folder to create commits and track changes efficiently.
Install git on Windows by downloading the 64-bit installer from git-scm.com, running the installer, and using the command-line with default options, then verify with git --version.
Install git on macOS by using Homebrew; open the terminal, paste the Homebrew installation command, install Git, and verify with git --version.
Discover how git log lists commit IDs, messages, and dates, track changes with git status and add, and switch to previous commits on the master branch with checkout.
Merge the third branch into the master branch using git merge to combine feature commits. Master shows three commits and updated files from the merged branch.
Learn how a detached head occurs when you check out a commit outside a branch, leaving HEAD unattached, and how to return to a branch with git checkout.
Learn to undo commits with git reset, using soft and hard reset to move head back and manage changes in the working directory and staging area.
Detect and fix merge conflicts between master and feature branches using VS Code, compare changes with git diff, and resolve by accepting current, incoming, or both changes, then commit.
Explore how Git cherry-pick selectively applies a single commit from a feature branch to master, illustrated by fixing a typo and adding new files.
Explore how to move from local Git projects to the cloud with GitHub, connect Git and GitHub, and master remote, local, and remote-tracking branches along with upstreams and cloning repositories.
connect your local git repository to a remote GitHub repository, creating a remote named origin, and push your branches and commits to the cloud while learning push and pull workflows.
Push a second commit to the master branch on GitHub, verify the update in history, and learn about upstreams, origin, and token-based credential management with Windows Credential Manager.
Explore how local tracking branches bridge your edits and remote branches on GitHub, using fetch, pull, and push to keep remote updates in sync.
Learn to create a local tracking branch connected to a remote branch using git branch --track, understand local versus remote tracking branches, and synchronize changes with push and pull.
Explore how personal access tokens secure GitHub collaboration, enabling push of commits, and distinguish owner vs collaborator access while managing organization versus personal accounts.
Compare owner and collaborator rights on GitHub, highlighting owner actions, collaborator write access in private repos, limit interactions, and the impossibility of read-only access in personal accounts.
Create a new GitHub organization from your personal account using profile settings and the new organization option. Set the organization name, choose the free plan, and provide a contact email.
Explore forks and pull requests on GitHub, showing how open source contributions create forked repositories, propose changes via pull requests, and enable owner review and merging.
Explore forking a public repository to your personal account, clone and push a new feature, then prepare to merge changes back into the original master branch.
Explore how issues, forks, and pull requests operate on a real open source project, learn to create and close issues, describe reproduction steps, and manage labels and projects.
Clone the public repository with git clone, install dependencies with npm install, and modify App.js to add a cart overlay using components/cart in a React project.
Learn to add a collaborator to a GitHub repository via settings, invite Manuel by username, and enable push and pull without sharing access tokens before merging feature branches into main.
Resolve merge conflicts in git by merging a feature branch into main, choosing changes, and updating code to implement a cart toggle with onClose, plus collaborative workflows.
Fork a public repository to your account, clone it locally, and push changes via a pull request. Manage branches on your fork—main or a separate branch—after installing dependencies with npm.
Implement quantity controls by updating add and remove item logic in cart.js, test with npm start, and push a commit with a pull request to Max.
No matter if you're just getting started with (web) development, if you're applying for a developer job or if you just need to refresh your knowledge - version control is a core skill you need to succeed as a developer!
Git (a version control system) and Github (a cloud provider for Git managed projects) form an outstanding combination to provide the best possible experience to create and maintain a clearly structured project history!
This course guides everyone (no prior knowledge is required!) through the core steps to use these tools in your daily projects with ease.
What is Version Control?
Saving & accessing data and tracking changes is what version control is all about. No matter if you're working on a private or a professional development project, code evolves, changes and continuously gets improved. A clean version management structure is therefore key to successfully manage the progress of your projects.
What is Git?
Git is a 100% free version management tool, specifically created for and used by developers all over the world to manage project code history locally on their machines (Windows, macOS, Linux/Unix).
What is GitHub?
GitHub is an online service, it is also free for many use cases (an account is all you need) and brings Git's local "file-tracking" strengths to the cloud. Storing project code online, updating code, accessing other team members' code or collaborating on large scale projects inside your organization - all possible with the help of GitHub!
Why Should I Know these Tools?
Version control is key to manage projects efficiently so not knowing Git and GitHub makes your daily developer life a lot more complicated. The same apply if you're currently looking for a new job in the industry, version control is required in any developer projects these days, so not knowing Git & GitHub puts you behind your competition!
Although Git and GitHub are user friendly, both come with their own logic and "language". Getting started can therefore be a bit cumbersome and this is where this course comes into play!
What do I Learn in this Course?
This course starts at the very basics, no prior Git or GitHub knowledge is required! You'll learn how to use Git and how to write Git commands in the Mac Terminal or the Windows Command Prompt (optional refreshers on both are also part of the course).
Starting with the first initialization of a so-called Git repository, we'll build up your knowledge step-by-step and understand the what & why behind concepts like branches, commits, the staging area, merging & rebasing, cloning, pushing & pulling branches and a lot more!
What's Inside this Course?
An optional Command Line Crash Course for both Windows & MacOS users
Git Download & Installation
Git Theory - Working Directory, Staging Area (Index) and Repository explained
Creating Git Repositories
Working with Commits
Understanding Branches
Understanding the HEAD and the detached HEAD
Newly Introduced Git Commands with Git Version 2.23
Deleting Data (Staged & Unstaged, Commits & Branches)
Ignoring Files
The Stash
Merging, Rebasing and Cherry Picking
Bringing Back Deleted Data with the Reflog
Connecting Local Git Repositories to Remote GitHub Repositories
Git Push & Pull (+ Fetch)
Local, Remote Tracking & Remote Branches
GitHub Collaborators & Contributors
Forks & Pull Requests
GitHub Issues
Github Projects
and so much more!
All covered, explained and applied in easy to understand examples in the course!
-
In this course we'll find answers to questions like:
"How can I delete my last commit?"
"What is the Stash?"
"What is the difference between a merge and a rebase (and what is cherry-picking actually)?"
"How to bring back a deleted commit?"
"What is the difference between a local tracking branch and a remote tracking branch?"
-
What are you waiting for, jump and board and let's GIT started :)