
Explore the fundamentals of Git and GitHub, including version control, local and remote repositories, cloning and fetching, merging and branching, and connecting via HTTPS or SSH.
Explore how version control tracks changes in files and folders and enables rollback through revision histories. Learn daily versioning and how git and other systems manage history.
Explore local, central, and distributed version control systems, and learn how to clone or download code, connect to a server, and manage upstream and downstream contributions.
Explore what git is, a distributed version control system that manages source code and contributions, tracing origins to Linus Torvalds and the Linux kernel.
Explore how git differs from traditional version control systems, highlighting version tracking, the staging area, commits, and delta-based updates for files and folders.
Explore git architecture from the working tree and staging area to the .git repository. Learn how commits create snapshots of changes using git add and git status.
Mastering Git & GitHub teaches how to track changes with a version control system, manage a working directory and repository, and use commits, hashes, blobs, trees, and tags.
Identify git file states and move files from untracked to tracked through the staging area using git add, then commit to create versions.
Install git across Windows, Mac, and Linux by downloading the software from official websites and following the documentation; learn basic commands via apt-get install and explore available online resources.
Install git bash and a code editor, then initialize git and set your global username and email with git config to manage remotes on GitHub.
Initialize the git repo by running git init in your working directory, then create files, add them with git add, and commit on the master branch.
Explore how to generate a sha-1 hash to create a unique ID for a file, with a simple example like printing hello world and visualizing the hash object.
Master the basics of git operations, including checking status, staging changes, committing snapshots, and understanding blobs, trees, and objects in a repository.
Explore commit objects and the git workflow from the working directory to the index and staging area, using status, add, commit, and merge with master and origin.
Learn how to undo changes at the command line using git restore and status checks; navigate commits, logs, and branches to manage the working tree, index, and remotes.
Master creating and applying git annotations and tags, linking commits to versions, and using git log and git show to inspect tagged revisions.
Learn to manage branches and merges in git using master and feature branches, with add, commit, log, switch, checkout, and merge commands, including fast-forward considerations.
Explore branching and merging in Git, including creating branches, committing changes, viewing logs, resolving conflicts, and merging fixes into master.
Master the essentials of git, including initializing repositories, staging, committing, creating and switching branches, viewing history with logs and graphs, and performing merges and conflict resolution with remotes.
Master git workflows by learning to clone and download from remote servers, manage upstream and origin, and push, pull, fetch, and merge with GitHub, GitLab, or Bitbucket.
Explore using a graphical user interface for git in VSCode, including git gui elements, graph views, commits, diff, branch creation, merging, and remote workflows with clones.
Learn how GitHub serves as a hosting and remote repository platform built on distributed git, manage local branches, clone repositories, and interact with remote repositories and downloads.
Sign up with email and GitHub, sign in, set up your first local profile, and learn to commit, branch, clone, and push to a remote origin.
Learn to work with remotes using the https protocol (part 2) for Git and GitHub workflows. Configure origin, clone, push, and manage authentication via https or ssh keys.
Set up ssh keys and git configuration to enable ssh-based remotes, add keys to the ssh agent, and test the origin with commits and git log.
Learn how to fork a remote repository on GitHub, add and fetch remotes, clone the project, sync with the main branch, and create a pull request to contribute.
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?
Understand how Git works behind the scenes
Explain the difference Git objects: trees, blobs, commits, and annotated tags
Master the essential Git workflow: adding & committing
Work with Git branches
Perform Git merges and resolve merge conflicts
Use Git diff to reveal changes over time
Undo changes using git restore, git revert, and git reset
Work with local and remote repositories
Retrieve "lost" work using git reflog
Write custom and powerful Git aliases
Understand how Git works behind the scenes and understand local & remote as well as local-tracking & remote-tracking branches
Dive into advanced Git features like merging, branching and the stash and learn how to manage merge conflicts
Bring Git's power to the cloud with GitHub
Learn how to contribute to open-source projects via forks & pull requests
Mark releases and versions using Git tags
Master collaboration workflows: pull requests, "fork & clone".
Host static websites using GitHub Pages