📌 1. Git Branching Strategies
Git Flow (originated by Vincent Driessen):
A popular model for workflows withdevelop
,main
, and feature branches.
Read more about Git Flow 🔗Trunk-Based Development:
Simplifies CI/CD by focusing on short-lived branches.Trunk-Based DevelopmentGitHub Flow:
Ideal for public repositories with continuous integration.GitHub Flow
🔄 2. Rebase vs Merge
- Merge (📦):
Preserves commit history with a merge commit. - Rebase (🔁):
Rewrites history to create a linear timeline.Use
git rebase -i <commit>
to interactively rebase.
📌 3. Git Hooks
- Pre-commit (📌):
Run linters or tests before committing. - Post-receive (📬):
Automate deployment tasks.
Explore Git Hooks 🔗
🧠 4. Advanced Commands
git reflog
(🔍):
Recover lost commits withgit reflog find <hash>
.git stash
(📦):
Temporarily save changes:git stash apply
to restore.git blame
(🔎):
Track code changes:git blame <file>
shows authorship.
🚀 5. Workflow Optimization
- Cherry-pick (🍒):
Apply specific commits:git cherry-pick <hash>
. - Bisect (🔍):
Debug issues withgit bisect <start> <end>
. - Submodules (📦):
Manage external repositories:git submodule add <url>
.
Git Workflow
Learn more about Git workflows 🔗