𝗚𝗶𝘁 𝗕𝗿𝗮𝗻𝗰𝗵𝗶𝗻𝗴 𝗦𝘁𝗿𝗮𝘁𝗲𝗴𝗶𝗲𝘀 𝗠𝗮𝗶𝗻 𝗼𝗿 𝗧𝗿𝘂𝗻𝗸-𝗕𝗮𝘀𝗲𝗱 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗺𝗲𝗻𝘁: Everyone commits directly to one main branch with small, frequent updates. Simple to follow, but it needs a lot of discipline from every single person on the team. 𝗙𝗲𝗮𝘁𝘂𝗿𝗲 𝗕𝗿𝗮𝗻𝗰𝗵𝗶𝗻𝗴: Every feature gets its own separate branch. Once the work is done, it gets merged back to main. Very easy to manage and track, and honestly the most commonly used approach in most teams I have seen. 𝗚𝗶𝘁 𝗙𝗹𝗼𝘄: This one has dedicated branches for everything, main, develop, feature, release, hotfix. Slightly more process-heavy but very useful once your project or team starts growing. 𝗥𝗲𝗹𝗲𝗮𝘀𝗲 𝗕𝗿𝗮𝗻𝗰𝗵𝗶𝗻𝗴: A separate branch is created for each release and all bug fixes are handled there before anything goes live. Very helpful when you want stable and controlled deployments. One thing I genuinely realised after all this is that there is no perfect branching strategy that works for everyone. It completely depends on your team size, your project, and how frequently you are shipping things. #copado #githubactions #DevOps #Git #GitHub #CICD #VersionControl #CloudComputing #Docker #Kubernetes #AWS #Automation #LearningDevOps #DevOpsTips
Git Branching Strategies: Choosing the Right Approach
More Relevant Posts
-
Fully agree, there’s no one-size-fits-all here. That said, I’ve seen teams struggle when branching becomes the main mechanism for controlling releases, eventually abandoning the process for the sake of speed. That’s why Serpent handles that complexity under the hood, enforcing whatever different branching strategy the team chooses without getting in the way so they can focus on actually shipping features.
Salesforce DevOps Architect | Salesforce Release Manager | Azure DevOps | Salesforce Administrator |Salesforce CRM ||16X Salesforce Certified || 6x Copado Certified || 5X Gearset Certified || 3X AutoRabit Certified ||
𝗚𝗶𝘁 𝗕𝗿𝗮𝗻𝗰𝗵𝗶𝗻𝗴 𝗦𝘁𝗿𝗮𝘁𝗲𝗴𝗶𝗲𝘀 𝗠𝗮𝗶𝗻 𝗼𝗿 𝗧𝗿𝘂𝗻𝗸-𝗕𝗮𝘀𝗲𝗱 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗺𝗲𝗻𝘁: Everyone commits directly to one main branch with small, frequent updates. Simple to follow, but it needs a lot of discipline from every single person on the team. 𝗙𝗲𝗮𝘁𝘂𝗿𝗲 𝗕𝗿𝗮𝗻𝗰𝗵𝗶𝗻𝗴: Every feature gets its own separate branch. Once the work is done, it gets merged back to main. Very easy to manage and track, and honestly the most commonly used approach in most teams I have seen. 𝗚𝗶𝘁 𝗙𝗹𝗼𝘄: This one has dedicated branches for everything, main, develop, feature, release, hotfix. Slightly more process-heavy but very useful once your project or team starts growing. 𝗥𝗲𝗹𝗲𝗮𝘀𝗲 𝗕𝗿𝗮𝗻𝗰𝗵𝗶𝗻𝗴: A separate branch is created for each release and all bug fixes are handled there before anything goes live. Very helpful when you want stable and controlled deployments. One thing I genuinely realised after all this is that there is no perfect branching strategy that works for everyone. It completely depends on your team size, your project, and how frequently you are shipping things. #copado #githubactions #DevOps #Git #GitHub #CICD #VersionControl #CloudComputing #Docker #Kubernetes #AWS #Automation #LearningDevOps #DevOpsTips
To view or add a comment, sign in
-
-
🗓️ Day 27/100 — 100 Days of AWS & DevOps Challenge Today's task: a bad commit was pushed to a shared repository. Undo it cleanly. The instinct for many engineers - especially under pressure is to reach for git reset --hard. That's the wrong tool the moment a commit has been pushed to a shared branch. Here's why. git reset rewinds the branch pointer backward, effectively deleting commits from history. Locally, that looks clean. But the remote still has those commits. Now your local master and origin/master have diverged. Git rejects your push. You force push. And now every team member whose local clone was based on those commits has a broken repository. git revert solves this correctly: $ git revert --no-commit HEAD $ git commit -m "revert games" $ git push origin master Instead of deleting the bad commit, it creates a new commit that contains the exact inverse of the bad commit's changes. The bad commit stays in history, it didn't disappear. But HEAD now points to a commit that cancels it out, and the working tree is back to the state before the bad commit was applied. No history rewriting. No force push. No broken clones. Just an auditable record that says "we made a mistake, here's the correction, and when." The --no-commit flag is important here because the task required a specific commit message - "revert games". Without it, Git auto-generates a message like Revert "some commit message". Using --no-commit stages the changes without committing, letting us then git commit -m "revert games" with full control over the message. This exact workflow is what you'd run during a production rollback and why every team's runbook should say git revert, not git reset. Full breakdown on GitHub 👇 https://lnkd.in/gVY8q4u4 #DevOps #Git #VersionControl #GitOps #100DaysOfDevOps #KodeKloud #LearningInPublic #CloudEngineering #SRE #Rollback #Infrastructure
To view or add a comment, sign in
-
🚀 Day 84 - GitHub Actions 🚀 Today I explored GitHub Actions, a powerful tool used to automate development workflows directly inside GitHub. GitHub Actions helps developers automatically build, test, and deploy applications whenever code is pushed to the repository. This makes development faster and reduces manual work. 🔹 What I learned today: Basics of GitHub Actions workflows Understanding workflows, jobs, and steps How automation runs when code is pushed or a pull request is created How GitHub Actions helps implement CI/CD pipelines It’s amazing how automation can simplify development and improve productivity. Excited to continue learning more about deployment and DevOps tools in the coming days! 💻⚡ #100DaysOfCode #GitHubActions #DevOps #CI_CD #BackendDevelopment
To view or add a comment, sign in
-
-
I deleted a resource from my cluster and Flux put it right back. That was the moment GitOps actually clicked for me. Here is what changed in how I think about infrastructure: Before GitOps, everything was manual. I applied manifests one by one with kubectl, tweaked things directly in the cluster, and had no reliable record of what was actually running or why. After GitOps, my Git repo is my cluster. Flux runs a constant reconciliation loop, checks what is in Git, and makes sure the cluster matches it exactly. Always. The implications of that are huge. ✅ Delete something by accident, Flux restores it. ✅ Merge a bad change, git revert is your rollback. ✅ Want to know what changed and when, check the Git log. ✅ Switch to a new cluster, point Flux at the same repo and it rebuilds everything. The config lives in Git, not in the cluster. That distinction sounds small. It is not. Have you made the shift to GitOps yet? What finally made it click for you? 👇 Follow me if you are building toward a DevOps career the practical way. #GitOps #Kubernetes #DevOps #FluxCD #CloudNative
To view or add a comment, sign in
-
-
🚀 If you're new to DevOps pipelines, here's the simplest way to understand how these 3 tools work together: 🔧 𝐒𝐭𝐞𝐩 1 — 𝐉𝐞𝐧𝐤𝐢𝐧𝐬 (𝐂𝐈) Jenkins watches your Git repo. The moment you push code, it: → Pulls the latest changes → Runs unit tests & security scans → Triggers the next stage automatically No manual clicks. No missed builds. 🐳 𝐒𝐭𝐞𝐩 2 — 𝐃𝐨𝐜𝐤𝐞𝐫 (𝐁𝐮𝐢𝐥𝐝) Jenkins calls Docker to: → Build a container image from your Dockerfile → Tag it with a version (e.g. app:v1.0.3) → Push it to a container registry (AWS ECR, DockerHub) Your app is now portable. Runs the same everywhere. ⎈ 𝐒𝐭𝐞𝐩 3 — 𝐇𝐞𝐥𝐦 (𝐂𝐃) Helm takes that image and deploys it to Kubernetes: → Uses templated charts (no copy-pasting YAML!) → Tracks release versions → Rollback in one command if something breaks Together they form a complete pipeline: 𝑪𝒐𝒅𝒆 → 𝑻𝒆𝒔𝒕 → 𝑩𝒖𝒊𝒍𝒅 → 𝑷𝒂𝒄𝒌𝒂𝒈𝒆 → 𝑫𝒆𝒑𝒍𝒐𝒚 This is the foundation of every modern DevOps workflow — whether you're at a startup or a bank. #Jenkins #Docker #Helm #Kubernetes #CICD #DevOps #CloudNative #DevSecOps #PipelineAutomation #SoftwareEngineering
To view or add a comment, sign in
-
-
🚀 Simplify your workflow with CI/CD using GitHub Actions Automate your build, test, and deployment processes seamlessly — no complexity, just efficiency. With GitHub Actions, you can streamline your entire delivery pipeline, reduce errors, and ship faster with confidence. Start small, iterate fast, and let automation do the heavy lifting. 💡 #CICD #GitHubActions #DevOps
To view or add a comment, sign in
-
Day 1: Deep Dive into Git Fundamentals I’ve officially kicked off my journey through the Ultimate DevOps and Cloud Interview Guide, and Day 1 was all about mastering the backbone of collaboration: Git. While many use Git daily, today I focused on the "Why" and "How" behind common scenarios to prepare for high-level technical discussions. Here are my key takeaways from Section 2: 🔹 Fork vs. Clone: The Workflow Choice Forking: Creating a personal copy of someone else's project on GitHub to propose changes (ideal for Open Source). Cloning: Creating a local copy of a repository on my machine to start working on the code directly. 🔹 Fetch vs. Pull: Managing Data Git Fetch: The "safe" command. It downloads new data from a remote repository but doesn't integrate it into your working files. It lets you see what others have done before you commit to merging. Git Pull: A combination of git fetch followed by git merge. It’s faster but requires you to be ready for potential merge conflicts immediately. 🔹 The Goal Understanding these isn't just about running commands it's about understanding how to manage code at scale and collaborate seamlessly within a DevOps pipeline. Next up: Git Rebase vs. Merge and handling those dreaded merge conflicts! #DevOps #CloudComputing #Git #VersionControl #ContinuousLearning #TechCommunity #Upskilling Abhishek Veeramalla
To view or add a comment, sign in
-
-
🚀 Day-25/90 of #90DaysOfDevOps -Day 25-Git Reset vs Revert & Branching Strategies...!!! I have learned git reset, revert and Branching Strategies. 🔁 Git Revert → Safe, keeps history, ideal for shared branches. ⚡ Git Reset → Rewrites history, powerful but risky if misused. 🌿 Branching Strategy matters: A good workflow (feature branches, main protection, PR reviews) prevents chaos before it starts. 🌿 Branching Strategy + PR Reviews = Clean Collaboration. 👀 PR (Pull Request) Reviews matter because: ✔ Catch bugs before they hit production ✔ Improve code quality & consistency ✔ Share knowledge across the team ✔ Ensure standards & best practices So need to take this process for best practice-> { "Strong branching + Proper PR reviews = fewer conflicts, better releases, and a healthier codebase" } And #Branching_Strategies is a set a rules for how your team works on code without breaking it. With #branching ✅ Create a branch 👉 feature/login Do your work there 👉 safe, no impact on main code Create PR (Pull Request) 👉 team reviews your code Merge into main 👉 only after approval { 👉 Create branch → Work → Review → Merge } #git repo- https://lnkd.in/gpC4pXqk TrainWithShubham Shubham Londhe #90DaysOfDevOps #DevOpsKaJosh #TrainWithShubham #cloudengineer #devOps #devopsengineer #cloud #aws #linux
To view or add a comment, sign in
-
-
Simplifying your DevOps toolchain can be a difficult task. If you are a GitHub Actions user looking to move to GitLab CI, this guide will help you ensure a successful transition. Explore step-by-step instructions for mapping, consolidating, and securing your pipelines to improve performance. ⚙️ https://lnkd.in/ecRbxrq2 #DevOps #SoftwareDevelopment #CICD #GitHub #GitHubActions #GitLab #GitLabCI
To view or add a comment, sign in
-
-
🚀 Day 10/50 — Namespaces As your Kubernetes cluster grows, managing resources becomes complex. That’s where Namespaces help. 👉 What are Namespaces? Namespaces divide a cluster into multiple virtual environments. 💡 Why it matters? • Organize resources efficiently • Separate environments (dev, test, prod) • Avoid conflicts between applications ⚙️ Example: You can have the same app name in different namespaces without conflict. 🧠 Simple Understanding: Namespace = Virtual partition inside a cluster 🔥 Key Takeaway: “Namespaces help you organize and isolate resources in Kubernetes.” 📌 Follow my journey as I learn Kubernetes step by step. #Kubernetes #DevOps #LearningInPublic
To view or add a comment, sign in
-
Explore related topics
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
Fully agree, there’s no one-size-fits-all here. That said, I’ve seen teams struggle when branching becomes the main mechanism for controlling releases, eventually abandoning the process for the sake of speed. That’s why Serpent handles that complexity under the hood, enforcing whatever different branching strategy the team chooses without getting in the way so they can focus on actually shipping features.