
Begin this hands-on git and github crash course using the command line, with setup videos for mac and pc, editor setup, quizzes, and a built-in q&a.
Discover how git prevents version hell by taking snapshots of your project and tracking what, who, when, and why. Apply git to manage directories with many files and multiple developers.
Explore how to access Git's built-in documentation with git help and dash --help, and use the terminal to navigate commands, obtain a quick cheat sheet, and build self-reliant Git skills.
Learn to initialize a git repository with git init, understand the dot git directory, working tree, and how to create commits (snapshots) of your project.
Learn how git status reveals your repository state, including on branch master with no commits yet. Understand tracked versus untracked files and how to add untracked files.
Learn how git stores snapshots with timestamps and author data. Configure your identity with git config --global user.name and user.email, then craft your first commit message using your editor.
Create your first commit by staging files with git add, checking git status, and writing a clear commit message to ensure the working tree is clean.
Add a new quotes file and create a second git commit by staging changes. See git status and commit with -m to label the Larry Wall quotes.
Explore the staging area, also known as the index or cache, as a pre-commit snapshot; learn how git add moves changes here and how you can split changes into commits.
Master the staging area by interactively staging changes with git add -p, splitting a file into hunks and choosing which to commit. Apply efficient commit workflows using git status, and git commit with dash a and dash m to stage all changes and provide a concise message.
Study the git-log output to trace commit history, understand commit hashes generated by SHA-1, and identify root commits, parents, and metadata like author, date, and message.
Explore studying an individual commit by using git log and git show to inspect diffs and the full file tree, including how to view specific files with a colon path.
Explore how git diff compares two commits, apply the diff with git apply, and manage changes across the working directory and staging area using git status, git diff, and git restore.
Explain how git uses HEAD and the master branch to trace commit history. Learn about references, branches, and the move toward non offensive naming with git init defaults.
Create and switch to a new branch with git branch and git switch, commit outside the master branch, and move vetted work into master to indicate review.
Explore how git log, head, and branch pointers visualize a repository's evolution, including creating branches off master and viewing commit graphs with --graph and --all.
Explore fast-forward merging in git as you vet changes between branches, use git diff to review proposals, fix issues, commit changes, and merge into the master branch.
Learn how git performs a merge commit with a recursive strategy, creating a two-parent merge that preserves diverged histories and combines changes from both branches into master.
Explore how to handle git merge conflicts by simulating two contributors, reviewing diffs, resolving conflicting edits, and completing a merge commit with clear conflict resolution.
Learn how git remotes enable collaboration on shared repositories, and understand how GitHub provides cloud hosting for git, with alternatives like Bitbucket and GitLab.
Learn to authenticate with GitHub using https by generating and managing a personal access token for repo access.
Push your local master to the origin remote on GitHub by adding a remote, then authenticate with your GitHub username and personal access token to publish commits.
Edit files directly on GitHub to perform minor documentation edits and commit on master branch. Preview changes, view the diff via git show, and check history with git log.
Pull new commits from GitHub into your local master branch with git pull, then review the updated commit graph using git log --graph --all.
Learn how pull requests enable code review and keep the main branch clean. Create a pull request from a branch, iterate on feedback, and merge to master.
Invite collaborators to the repository and configure access. Protect the master branch with a rule that requires one pull request review to merge.
Explore the first collaborator’s workflow to create a feature branch, clean up markdown formatting with GitHub flavoured markdown, commit, push, and open a pull request to merge into master.
Learn how to review, approve, and merge a pull request on GitHub, including inspecting diffs, viewing files, leaving comments, and deleting the branch after merge.
Learn how git references work and how tags serve as non-moving references to mark versions, such as v1.2.3, while branches move with commits; the lecture also previews GitHub releases.
Explore lightweight tags, a simple label for a commit, by copying the commit hash and tagging v0.1.0 with git tag v0.1.0 <hash>, then view it in the commit graph.
Learn how annotated tags record the tagger, time, and release notes when tagging HEAD with git tag -a v1.0.0, then view details with git show and push with --tags.
Explore GitHub releases versus tags by viewing annotated tag messages and commit messages, publish a release to render a richer ui, and create a corresponding git tag for git pull.
Learn to use a .gitignore file to exclude credentials.yaml, logs directory, and compiled pyc files, and practice with git status and git add -A for clean commits.
Use git config to set name, email, and editor; learn system, global, and local scopes. Create aliases like git st, git lg, and git last.
Install git on a Mac via homebrew, run brew install git, verify with git --version, and set your editor with git config --global core.editor.
Install git on Windows by downloading from git-scm.com and running the installer with default options; switch the editor from vim and verify with git --version using git bash.
Navigate the bash shell and master essential commands like man, pwd, mkdir, cd, ls, ls -a, and cat; explore hidden files, piping, and paging with less.
This course is going to give you a solid introduction to both Git and GitHub, all in the time it takes to watch a movie.
Note: This course is up-to-date and uses the newer commands (switch and restore) introduced in Git 2.23.
I've designed this course to make the most of your limited time by cutting out any unnecessary theory and diving right into using Git. The course is very hands-on and guides you through using Git and GitHub effectively. It supplements the video courses with quizzes to further solidify your knowledge.
In this course, we'll use the terminal to:
create a Git repository
add commits
create branches
merge them
add tags
explore the history of your project
study individual commits
deal with merge conflicts
configure remotes
push to and pull from remotes
We'll also use GitHub to:
create, review and merge pull-requests
create GitHub releases
browse through the code in different versions
And we'll do all of this in just 2 hours! By the end of this course, you'll be able to use Git for your day-to-day work with ease.
This course comes with a 30-day money back guarantee. No questions asked. You have so much to gain and nothing to lose. So why wait?
--------------------------------------------------------------------------------------------------
All emojis designed by OpenMoji – the open-source emoji and icon project. License: CC BY-SA 4.0