/github-for-non-tech

How to avoid breaking the app after a GitHub update?

Matt Graham, CEO of Rapid Developers

Book a call with an Expert

Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.

Book a free No-Code consultation

How to avoid breaking the app after a GitHub update?

 
Step 1: Protect Your Main Branch Using Branch Policies
 

  • Open your GitHub repository in a browser.
  • Click on “Settings” at the top of the repo page.
  • Select “Branches” from the sidebar.
  • Under “Branch protection rules,” click “Add rule.”
  • Set the rule to protect main (or master) branch:
  • 
    Branch name pattern: main
    Require pull request reviews before merging: ✔️
    Require status checks to pass before merging: ✔️
    Include administrators: ✔️
    

 
Step 2: Create and Work in Feature Branches
 

  • Always create a new branch for every update or bugfix to isolate changes.
  • Use a naming convention like feature/your-feature-name or bugfix/issue-123.
  • 
    // Clone the repo (if you haven’t already)
    git clone https://github.com/username/repo.git
    cd repo
    
    

    // Create a new feature branch
    git checkout -b feature/add-login-form

  • Commit your work frequently with clear messages:
  • 
    git add .
    git commit -m "feat: add basic login form and validation"
    

 
Step 3: Keep Your Local Branch Up to Date
 

  • Before you start a new session, fetch and merge remote updates to avoid conflicts:
  • 
    git fetch origin
    git checkout main
    git pull origin main
    
    

    // Rebase your feature branch onto the updated main
    git checkout feature/add-login-form
    git rebase main

  • If rebase conflicts occur, resolve them, then continue:
  • 
    # After fixing conflicts in files:
    git add 
    git rebase --continue
    

 
Step 4: Run Automated Tests Locally
 

  • Ensure you have a test suite (unit, integration, end-to-end) configured.
  • Install dependencies:
  • 
    npm install
    # or
    yarn install
    
  • Run all tests before pushing:
  • 
    npm test
    # or for Jest:
    npm run test:watch
    
  • Fix any failing tests immediately to prevent broken builds.

 
Step 5: Use Continuous Integration (CI) Pipelines
 

  • Create a CI configuration file in your repo, e.g. .github/workflows/ci.yml:
  • 
    name: CI Pipeline
    
    

    on:
    pull_request:
    branches: [ main ]

    jobs:
    build-and-test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Set up Node.js
    uses: actions/setup-node@v3
    with:
    node-version: '16'
    - run: npm install
    - run: npm test

  • CI will automatically run tests on every pull request. Only merge if ✅ passes.

 
Step 6: Submit Pull Request and Conduct Code Review
 

  • Push your feature branch to GitHub:
  • 
    git push --set-upstream origin feature/add-login-form
    
  • Open a Pull Request (PR) against main.
  • Request reviews from teammates and address comments:
  • 
    // After changes based on feedback
    git add .
    git commit -m "fix: address review comments"
    git push
    
  • Wait for CI success status and at least one approval before merging.

 
Step 7: Merge Safely and Monitor Production
 

  • Merge via GitHub’s “Merge” button once CI and reviews pass.
  • Pull changes back into your local main:
  • 
    git checkout main
    git pull origin main
    
  • Trigger your deployment pipeline (if configured) or deploy manually.
  • Monitor logs and application health post-deployment:
  • 
    // Example: Tail logs on a Linux server
    ssh user@server "tail -f /var/log/app.log"
    
  • If you encounter issues, revert quickly:
  • 
    # On GitHub you can click “Revert” in the merged PR
    git revert 
    git push origin main
    

Want to explore opportunities to work with us?

Connect with our team to unlock the full potential of no-code solutions with a no-commitment consultation!

Book a Free Consultation

Client trust and success are our top priorities

When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.

Rapid Dev was an exceptional project management organization and the best development collaborators I've had the pleasure of working with. They do complex work on extremely fast timelines and effectively manage the testing and pre-launch process to deliver the best possible product. I'm extremely impressed with their execution ability.

CPO, Praction - Arkady Sokolov

May 2, 2023

Working with Matt was comparable to having another co-founder on the team, but without the commitment or cost. He has a strategic mindset and willing to change the scope of the project in real time based on the needs of the client. A true strategic thought partner!

Co-Founder, Arc - Donald Muir

Dec 27, 2022

Rapid Dev are 10/10, excellent communicators - the best I've ever encountered in the tech dev space. They always go the extra mile, they genuinely care, they respond quickly, they're flexible, adaptable and their enthusiasm is amazing.

Co-CEO, Grantify - Mat Westergreen-Thorne

Oct 15, 2022

Rapid Dev is an excellent developer for no-code and low-code solutions.
We’ve had great success since launching the platform in November 2023. In a few months, we’ve gained over 1,000 new active users. We’ve also secured several dozen bookings on the platform and seen about 70% new user month-over-month growth since the launch.

Co-Founder, Church Real Estate Marketplace - Emmanuel Brown

May 1, 2024 

Matt’s dedication to executing our vision and his commitment to the project deadline were impressive. 
This was such a specific project, and Matt really delivered. We worked with a really fast turnaround, and he always delivered. The site was a perfect prop for us!

Production Manager, Media Production Company - Samantha Fekete

Sep 23, 2022