Git 101
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.
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.
-
SSH Keys: Generating SSH keys and adding them to GitHub.
-
Connecting to GitHub: Connecting Local Repository to GitHub.
-
Git Remote Add: Adding a remote with
git remote add. -
Git Push: Pushing changes with
git push. -
Git Fetch: Using
git fetchto retrieve changes. -
Git Pull: Using
git pullto fetch and merge changes. -
Understanding Remotes: Managing multiple remotes and tracking branches.
Grade 4: Branching and Merging
-
Git Branch: Creating branches with
git branch. -
Git Checkout: Switching branches with
git checkout. -
Git Merge: Merging changes with
git merge. -
Resolving Merge Conflicts: Resolving merge conflicts.
-
Branch Management: Deleting and renaming branches.
-
Branch Best Practices: Using feature branches and pull requests.
Grade 5: Inspecting and Comparing Changes
-
Git Diff: Using
git diffto compare changes. -
Comparing Branches: Comparing branches and commits.
-
What is HEAD: What is HEAD in Git?
-
Navigating with Checkout: Navigating with git checkout.
-
Git Revert: Using git revert to undo commits.
-
Git Reset: Using git reset to unstage or undo changes.
Grade 6: Advanced Git Techniques
-
Git Stash: Saving work-in-progress with
git stash. -
Applying Stash: Applying stashed changes.
-
Git Tag: Creating tags with
git tag. -
Pushing Tags: Pushing tags to remote repositories.
-
Git Cherry-Pick: Applying specific commits with
git cherry-pick. -
Git Rebase: Rewriting commit history with
git rebase. -
Gitignore: Ignoring Files: Using
.gitignoreto exclude files from tracking.
Grade 7: Troubleshooting and Optimization
-
Advanced Merge Conflicts: Identifying and resolving merge conflicts.
-
Git Mergetool: Using tools like git mergetool.
-
Git Clean: Removing untracked files with
git clean. -
Git Prune: Pruning branches with
git prune. -
Git GC: Compressing repository with
git gc. -
Git Fsck: Analyzing repository with
git fsck.
Grade 8: Git in Real-World Scenarios
-
Gitflow: Understanding Gitflow and other branching strategies.
-
Pull Requests: Using pull requests for code reviews.
-
GitHub Actions CI: Setting up continuous integration with GitHub Actions.
-
Automating Deployments: Automating deployments.
-
Sensitive Data: Managing sensitive data and .gitignore.
-
Signing Commits: Signing commits with GPG.