🚀 Git Branching made simple (Merge vs Rebase vs Cherry-pick) Here’s a visual + cheat sheet I wish I had earlier to understand how Git works in real production environments 👇 —> Real-world DevOps use case: In production, the main branch always contains stable and deployable code. When working on a new feature or bug fix, we never modify the main branch directly. Instead: git checkout -b feature-update This allows: ✔ Safe development without breaking production ✔ Independent testing of changes ✔ Multiple developers to work in parallel —> How changes are integrated: • Merge git merge feature-update → Combines history, safe and widely used • Rebase git rebase master → Keeps history clean and linear • Cherry-pick git cherry-pick <commit-id> → Apply only specific changes (useful for hotfixes in production) —> Why this matters in DevOps: - Maintains production stability - Supports CI/CD pipelines - Enables efficient team collaboration - Reduces deployment risks 💡 Key takeaway: Branching is not just a Git feature — it’s a core practice for safe and scalable software delivery in production systems. 📌 Save this for later if you're learning Git Still learning and building in DevOps 🚀 #DevOps #Git #CI_CD #Linux #VersionControl #LearningJourney
Git Branching Strategies: Merge, Rebase, Cherry-pick
More Relevant Posts
-
🚨 I BROKE MY PRODUCTION CODE… AND GIT SAVED ME 🚨 Everything was working fine. One small change. One commit. One push. And suddenly… everything stopped working. No error from Git. No warning. 👉 That’s when I realized something important: Git doesn’t check if your code is correct. It only tracks what you change. 💥 What happened next changed my understanding: Instead of panicking, I investigated using: git diff git status git log And then I used: 👉 git revert Not reset. Not delete. 👉 Revert. 🚀 Why? Because in real DevOps: ✔️ You don’t delete history ✔️ You don’t break team workflow ✔️ You fix production safely 🔥 This experience completely changed how I see Git: 👉 It’s not just version control 👉 It’s a recovery system I wrote a detailed blog explaining: ✔️ What happened ✔️ Why it happened ✔️ How I fixed it ✔️ Real DevOps insights 👉 Read here:https://lnkd.in/gUF_NY-Z 💡 If you’re learning Git, don’t just learn commands. 👉 Learn what happens when things go wrong. That’s where real learning starts. #DevOps #Git #Debugging #LearningInPublic
To view or add a comment, sign in
-
🚨 ONE WRONG GIT MERGE TAUGHT ME MORE THAN ANY DOCUMENTATION I used to think Git was simple. 👉 git add 👉 git commit 👉 git push That’s it. Then one day… I merged my code. And things didn’t feel right. 💥 APIs behaved differently 💥 Code didn’t match expectations 💥 Debugging became confusing That’s when I realized something important: 👉 Git is not about commands. 👉 It’s about understanding what happens behind the scenes. In real DevOps: multiple developers push code at the same time production keeps changing your code can become outdated without you noticing And if you don’t understand this… 👉 One wrong merge can break everything. 💡 What changed for me: Instead of blindly using commands… I started asking: 👉 What is Git actually doing here? 👉 Is my code up to date? 👉 Am I mixing old and new changes? That’s when everything became clear. 🚀 Now I understand: merge mixes timelines rebase updates your work revert safely fixes mistakes And more importantly: 👉 When to use them 💡 Git is not difficult. It just becomes powerful… 👉 when you stop memorizing commands 👉 and start understanding behaviour 🔥 Real learning doesn’t happen when everything works. 👉 It happens when things break… and you fix them. 👇 I wrote a full hands-on blog with real examples, commands, and outputs: https://lnkd.in/g-z_C3a8 #️⃣ #Git #DevOps #LearningInPublic #Debugging #CareerGrowth
To view or add a comment, sign in
-
Day 11 of DevOps I thought I knew Git. Turns out I only knew GitHub. Git is a distributed version control system : it tracks every change you make to your code, locally on your machine. GitHub is just where you store it online. They are not the same thing. Today I actually used Git commands for the first time. Here's how it went: git init : initialized my first local repository git add : staged my changes git commit -m : saved my first snapshot But first commit failed. Git threw an identity error : it didn't know who I was. Turns out Git requires you to set your identity before committing anything. git config --global : fixed it permanently Then things got interesting: git diff : showed me exactly what changed between versions git log : showed my entire commit history with IDs git reset --hard : rolled back to a previous version instantly That last one hit different. One command and your code goes back in time. Git doesn't just save your work. It saves every version of it. Moral of the day: GitHub is the house. Git is the foundation it's built on. #DevOps #Git #LearningInPublic
To view or add a comment, sign in
-
🚨 Stop delivering IT work outside of Git. In 2026, there’s no valid reason for code, scripts, or IaC to live in emails, ZIP files, or shared folders. If it’s not in GitLab (or any Git-based platform), it simply doesn’t exist. 👉 No versioning 👉 No traceability 👉 No rollback 👉 No accountability And that’s how you lose control of your IT. Today, a Git repository is not just “where code lives”: It’s your 📦 delivery point It’s your 📚 documentation It’s your 🔍 audit trail It’s your 🚀 deployment trigger Especially with IaC (Terraform, Ansible…), Git becomes the single source of truth for your infrastructure. No Git = ❌ fragile systems ❌ knowledge silos ❌ unreproducible environments ❌ risky deployments On the other hand: With Git + GitLab 👇 ✅ every change is tracked ✅ every decision is documented ✅ every version is recoverable ✅ every deployment is controlled This isn’t a “best practice” anymore. 👉 It’s a baseline requirement. 💬 Curious: do you still see deliverables outside Git in your projects? #gitlab #git #CICD
To view or add a comment, sign in
-
Why does Git remain the undisputed standard for version control 20 years later? Key Points to Watch: -Distributed Power: Every developer has the entire history, eliminating the "server is down" bottleneck. -Integrity: The use of SHA-1 hashing ensures that what you commit is exactly what gets deployed. -Branching Efficiency: In Git, a branch is just a pointer to a commit, making "feature branching" nearly instant and zero-cost. The Engine of Distributed Truth Headline: Why Git is the "Mission Control" of Modern Engineering Before we had automated pipelines and cloud-native deployments, we had a massive problem: Collaboration at Scale. In 2005, the Linux kernel team faced a crisis that forced a total rethink of how we handle code. The result was Git—a tool built by Linus Torvalds in just two weeks that fundamentally changed how the world builds software. The "Architect" View on Git: -Zero Single Point of Failure: Unlike older centralized systems (SVN/CVS), Git is distributed. Every clone is a full backup. If the main server goes dark, the project lives on every engineer's machine. -Immutable History: Every commit is cryptographically hashed. In a DevOps pipeline, this is your "Chain of Custody"—you know exactly which lines of code triggered which deployment. -Branching as a Strategy: Git made branching "cheap." This allowed us to move away from "all hands on one file" to isolated feature development, which is the heartbeat of CI/CD. Whether I'm managing a complex GitHub Enterprise migration or spinning up a new microservice, Git isn't just a "save button." It is the source of truth that triggers the entire automation lifecycle. Quick Poll for the Devs: When you're in the terminal, are you a git rebase perfectionist or a git merge traditionalist? #Git #DevOps #VersionControl #OpenSource #SoftwareArchitecture #CloudEngineering #GitHub #TechHistory #7EagleGroup #7EagleAcademy Jordie Kern , Adam Peters, Brad Lawson, M.S., Donavan Maldonado-Fashina
To view or add a comment, sign in
-
-
Why Plain Text + Git just works For a long time, documentation lived next to development. Different tools. Different workflows. Often, different levels of quality. But more teams are moving toward something simpler, and more powerful: plain text documentation, versioned in Git. Why? Because documentation starts behaving like code: - Versioned - Reviewable - Collaborative - Traceable Instead of static pages, you get a living system that evolves with your product. No proprietary lock-in. No disconnected workflows. Just documentation that stays relevant. Is your documentation versioned, or just stored? #Documentation #Git #DevOps #Elevatic
To view or add a comment, sign in
-
-
🚀 Just learned GIT — and here's everything in one post! GIT = Global Information Tracker It's a Version Control & SCM (Source Code Management) tool used by every developer on the planet. 📦 THE 3 STAGES OF GIT: 1️⃣ Working Directory → where you create/edit files 2️⃣ Staging Area → files tracked after git add (modified files show here) 3️⃣ Repository → after git commit, files move here (hidden from git status) ⚙️ SETUP ✅ git init → initialize a repo ✅ git config --global user.name "name" → set author ✅ git config --global user.email "email" → set email ➕ STAGING & COMMITTING ✅ git add filename → stage a file ✅ git add . → stage everything ✅ git commit -m "message" filename → commit one file ✅ git status → check what's tracked/modified ✅ git log → recent commit history ✅ git log --follow -all filename → no. of commits on a file 🔁 UNDOING THINGS ✅ git reset --hard HEAD~N → delete N commits + changes ✅ git reset --soft HEAD~N → remove commit ID only (changes stay!) ✅ git reflog → see ALL history including deleted commits ✅ git cherry-pick <commit-id> → bring back a specific commit ✅ git commit --amend → change the last commit ID 🔒 .GITIGNORE ✅ vi .gitignore → open the ignore file ✅ Add filenames/patterns → they disappear from untracked files 💡 Key insight I had: 👉 --hard deletes the commit AND the file changes 👉 --soft only removes the commit ID — your work is safe 👉 reflog is your safety net — deleted commits aren't really gone! Still learning and documenting every step. Drop a comment if you're on this DevOps/Linux journey too! 🙌 #Git #VersionControl #DevOps #Linux #LearningInPublic #SoftwareEngineering #SCM #TechJourney #GitCommands #Developer
To view or add a comment, sign in
-
-
🚀 DevOps Journey – Day 18 / 100 Today I learned real-time Git workflow with multiple developers + GitHub repo management 🔥 ⸻ 🔹 🧑💻 Real-Time Scenario 👨💻 Dev1 → Already developed code & pushed to GitHub 👨💻 Dev2 → New joiner (no code in local system) 👉 What should Dev2 do? ✔️ Clone the Repository • git clone <repo_url> → Entire code + history comes to local ⸻ 🔹 🔄 Clone vs Pull ✅ Clone • First time download • Full repo + all branches ✅ Pull • Get latest changes • Used after clone 💡 Pull = Fetch + Merge ⸻ 🔹 🌿 Branch & Sync • git branch -a → Show local + remote branches 👉 Workflow: 1. Make changes locally 2. git push → Send to GitHub 3. Other dev makes changes 4. git pull → Get updates ⸻ 🔹 🔍 Fetch vs Merge • git fetch origin branch → Check new commits (no merge) • git merge origin/branch → Merge changes into local ⸻ 🔹 ⚙️ GitHub Repository Settings 📌 You can manage repo using UI: • Rename repository • Change default branch • Change visibility (Public → Private) • Transfer ownership • Archive (read-only mode) • Delete repository (Danger Zone ⚠️) ⸻ 🔹 🆚 Git vs GitHub • Git → CLI tool (local system) • GitHub → Web UI (remote repo hosting) ⸻ 💡 Pro Tip: Every developer should know this flow: 👉 Clone → Work → Push → Pull → Repeat This is how real companies work 🚀 #DevOps #Git #GitHub #Linux #VersionControl #100DaysOfDevOps #LearningJourney #Cloud #Automation #RealTime #frontlinemedia #flm #DevSecOps #MultiCloud
To view or add a comment, sign in
-
-
🚀 DevOps Journey – Day 17 / 100 Today I learned a real-world Git scenario that every developer faces 🔥 ⸻ 🔹 🔐 Git with SSH (Secure Way) • Generate SSH key → ssh-keygen • Add public key to GitHub SSH settings • Use SSH URL instead of HTTPS 👉 git remote add origin <SSH_URL> 👉 git push origin branchname 💡 No more entering username/password every time! ⸻ 🔹 ⚙️ Basic Config (Recap) • git config --global user.name "yourname" • git config --global user.email "youremail" ⸻ 🔹 📏 Sigma Rule of Git (Golden Rule) 👉 Always PULL before PUSH ⚠️ ⸻ 🔹 🔥 Real-Time Scenario (Important) 1️⃣ Change a file directly in GitHub 2️⃣ Commit changes in GitHub 3️⃣ Now from Local: • Modify same file • Try git push ❌ → ERROR 👉 Why? Because local repo is outdated ⸻ 🔹 🛠️ Solution ✔️ First try: git pull ❌ Still conflict? 👉 Fix using: • git reset --soft HEAD~1 • git stash • git pull • git stash apply • Resolve conflicts • git push ✅ ⸻ 🔹 🔀 GitHub Merge • Use Compare & Pull Request • Review changes • Merge safely into main branch ⸻ 💡 Pro Tip: Most Git errors happen due to not pulling latest changes Follow the rule → Pull → Modify → Push Consistency makes you industry-ready 💪 #DevOps #Git #GitHub #Linux #VersionControl #100DaysOfDevOps #LearningJourney #Cloud #Automation #RealTimeScenario #frontlinesedutech #flm #frontlinesmedia #MultiCloudDevops
To view or add a comment, sign in
-
-
🔁 Git Reset vs Git Revert — I Used to Think They Were the Same… Early on, I assumed both commands did one simple thing: “Undo changes” But while working on a project, I realized they solve completely different problems. And using the wrong one can break your workflow. 🔙 git reset (Rewrites History) - Moves the branch pointer backward - Can remove commits from history - Affects your local repository Use when: - Undoing local commits - Cleaning up commits before pushing Common Commands: - git reset --soft HEAD1 → Undo commit, keep changes staged - git reset --mixed HEAD1 → Undo commit, keep changes unstaged - git reset --hard HEAD~1 → Remove commit + delete changes Example: Fixing unclear commits before pushing ↩ git revert (Safe Undo) - Creates a new commit that reverses changes - Keeps history intact - Safe for shared repositories Use when: - Changes are already pushed - Working in a team environment Common Commands: - git revert HEAD → Revert last commit - git revert <commit-id> → Revert specific commit Example: Reverting a faulty production change 🎯 Takeaway: Never use reset on shared branches. Prefer revert when collaborating. #Git #GitHub #DevOps #VersionControl
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development