Git & GitHub Workflow
What is Git?
Git Installation & Configuration
Installation
Initial Configuration
Git Basics
Creating a Repository
The Three States
Adding Files (Staging)
Committing Changes
Viewing History
Viewing Changes
Branching & Merging
Creating Branches
Switching Branches
Merging Branches
Merge Strategies
Deleting Branches
Resolving Merge Conflicts
When Conflicts Occur
Resolving Conflicts
Working with Remote Repositories
Adding Remotes
Fetching & Pulling
Pushing Changes
Undoing Changes
Unstage Files
Discard Changes
Reverting Commits
Resetting Commits
Reset vs Revert
Stashing Changes
Basic Stashing
Advanced Stashing
Tagging
Creating Tags
Pushing Tags
Git Workflows
Feature Branch Workflow
GitFlow Workflow
GitHub Flow (Simplified)
Rebasing
Basic Rebase
Interactive Rebase
Rebase vs Merge
GitHub Features
Pull Requests (PRs)
Code Review
GitHub Actions (CI/CD)
GitHub Issues
.gitignore File
Common .gitignore for .NET
Advanced Git Commands
Cherry-pick
Bisect (Find Bug)
Reflog (Recover Lost Commits)
Cleaning
Blame (Find Who Changed Line)
Git Aliases
Setting Up Aliases
Common Aliases
Git Best Practices
Commit Messages
Branch Naming
Commit Frequency
Before Pushing
Troubleshooting Common Issues
Merge Conflicts
Accidentally Committed to Wrong Branch
Undo Pushed Commit
Recover Deleted Branch
Large Files
Collaboration Best Practices
Pull Request Checklist
Code Review Guidelines
Merge Strategy
Git Cheat Sheet
Daily Commands
Undoing Things
Remote Operations
Quick Reference: When to Use What
Merge vs Rebase
Scenario
Use Merge
Use Rebase
Reset vs Revert
Scenario
Use Reset
Use Revert
Last updated