Intro
This course is designed for developers, data professionals, and anyone interested in mastering version control using Git. By the end of this course, you'll be proficient in using Git for version control and collaborating effectively using GitHub.
If you like this course and want to support the project, you can do so here:
Grades
Grade 1: Getting Started with Git
-
What is Git Understanding version control and the role of Git in software development.
-
-
Windows: Using the Git for Windows installer.
-
macOS: Installing via Homebrew or Xcode Command Line Tools.
-
Linux: Using package managers like apt or yum.
-
-
Git Config: Setting up user name and email with git config.
-
Git init: Initializing a repository with
git init
. -
Git clone: Cloning an existing repository with
git clone
.
Grade 2: Basic Git Workflow
-
Understanding the Git Workflow: Working Directory, Staging Area, and Repository.
-
Git add: Adding files to staging.
-
Git commit: Commiting changes from staging.
-
Git log: view commit history.
Grade 3: Collaborating with GitHub
-
GitHub: Creating a GitHub account.
-
Generating SSH keys and adding them to GitHub.
-
Connecting Local Repository to GitHub:
-
Adding a remote with
git remote add
. -
Pushing changes with
git push
. -
Using
git fetch
to retrieve changes. -
Using
git pull
to fetch and merge changes. -
Understanding Remotes: Managing multiple remotes and tracking branches.
Grade 4: Branching and Merging
-
Creating branches with
git branch
. -
Switching branches with
git checkout
. -
Merging changes with
git merge
. -
Resolving merge conflicts.
-
Branch Management:
-
Deleting branches.
-
Renaming branches.
-
Best Practices: Using feature branches and pull requests.
Grade 5: Inspecting and Comparing Changes
-
Using
git diff
to compare changes. -
Comparing branches and commits.
-
What is HEAD in Git?
-
Navigating with git checkout.
-
Using git revert to undo commits.
-
Using git reset to unstage or undo changes.
Grade 6: Advanced Git Techniques
-
Saving work-in-progress with
git stash
. -
Applying stashed changes.
-
Creating tags with
git tag
. -
Pushing tags to remote repositories.
-
Applying specific commits with
git cherry-pick
. -
Rewriting commit history with git rebase`.
-
Ignoring Files: Using .
gitignore
to exclude files from tracking.
Grade 7: Troubleshooting and Optimization
-
Identifying and resolving merge conflicts.
-
Using tools like git mergetool.
-
Removing untracked files with
git clean
. -
Pruning branches with
git prune
. -
Compressing repository with
git gc
. -
Analyzing repository with
git fsck
.
Grade 8: Git in Real-World Scenarios
-
Understanding Gitflow and other branching strategies.
-
Using pull requests for code reviews.
-
Setting up continuous integration with GitHub Actions.
-
Automating deployments.
-
Managing sensitive data and .gitignore.
-
Signing commits with GPG.