Skip to content
HDC Consultancy.

Cloud & DevOps

GitHub

Where we host code, review changes and auto-deploy on push.

GitHub is the cloud platform where we host our Git repositories and collaborate on code. It adds review, issue tracking and automated pipelines on top of Git, so every change is checked before it ships and a push to the main branch builds and deploys the site automatically. HDC runs its work through GitHub, and this very website lives there, deploying to Cloudflare Pages on every push.

Where it shines

  • Hosts our Git repositories securely in the cloud, accessible from anywhere
  • Pull requests put every change up for review before it reaches the live site
  • GitHub Actions runs automated checks and CI/CD on each push
  • Connects directly to Cloudflare Pages for auto-build and preview deploys
  • Issues and project boards track work in the same place as the code
  • Full audit trail of who changed what, when and why

Trade-offs to weigh

  • A central hosted service, an outage can pause deploys (rare, but real)
  • Private repositories and advanced features have a cost at scale
  • Its breadth of features is more than a very small project strictly needs

What GitHub is

GitHub is a cloud platform for hosting code and collaborating on it, built around the Git version control system. Where Git records a project’s history on a machine, GitHub puts that repository online and adds the layer that turns version control into teamwork: a place to review changes, track work and automate testing and deployment.

Its central feature is the pull request, a proposed change, packaged up so it can be seen, discussed and checked before it’s accepted into the main project. On top of that sit GitHub Actions (automated pipelines that run checks or deploy on each push), Issues and project boards for tracking work, and fine-grained access control. The effect is that “review before you ship” and “deploy automatically” become the normal way of working rather than something you have to remember to do.

How HDC uses GitHub

GitHub is the home of our code and the engine of how we ship. In practice:

  • We host every client project repository privately on GitHub, with access limited to the people who need it and a full audit trail of changes.
  • We propose changes as pull requests, so each one is reviewed and checked by automated tests before it merges, mistakes get caught off to the side, not on the live site.
  • We use GitHub Actions to run automated checks on every push, sometimes inside Docker containers, so the environment we test in is consistent.
  • We connect repositories to Cloudflare Pages, so a push to the main branch builds and deploys the site automatically, with preview deploys for branches. This very website is hosted and deployed exactly this way.

Why we apply it

For clients, GitHub is why changes to their site are deliberate rather than risky. Nothing reaches the live site without being reviewed and tested, and because deploys are automated, there’s no error-prone manual upload step where things go wrong. A change is seen, approved on a preview URL, then shipped, predictably, every time.

It also protects the project as an asset. The complete record of who changed what and why keeps the site maintainable, access can be granted and revoked cleanly as teams change, and the work is never trapped on one person’s laptop. That’s continuity a client can rely on.

How GitHub fits our stack

GitHub is the hub our delivery workflow rotates around. It hosts the Git repositories that version our Astro codebases, runs Docker-based automated checks through GitHub Actions, and connects to Cloudflare so each push builds and deploys the site with preview URLs along the way. For certain stacks, Azure DevOps offers an alternative CI/CD home, but GitHub is our default. Everything from the first commit to the live deploy passes through it, which keeps the whole pipeline in one auditable, automated place.

When GitHub isn’t the right tool

GitHub is the right home for code on essentially all our projects, so the caveats are narrow. It’s not a content management system, when a client needs to edit page copy or publish posts themselves, we give them a CMS, not GitHub access. For organisations already standardised on a different platform such as Azure DevOps or GitLab, we’ll work within their ecosystem rather than force a move. And the heavier collaboration features are more than a tiny one-off project needs, though even then, the hosting, review and auto-deploy alone earn their place.

Worked example

Every change reviewed, then deployed automatically

Picture us adding a new service page to a client's site. The work happens on its own branch and goes up as a pull request on GitHub, a tidy, reviewable summary of exactly what changed. Before anything merges, automated checks run and the change is reviewed, so mistakes are caught off to the side rather than on the live site. GitHub also spins up a preview deploy of that branch, so the page can be seen and approved on a real URL first. Once it's merged, the push to the main branch triggers an automatic build and deploy to Cloudflare Pages, no manual uploads, no risky hand-deployment. The client gets the new page live, safely, with a full record of how it got there. (Illustrative, every build is scoped to your goals.)

GitHub: your questions answered

What is GitHub used for?

GitHub is a cloud platform for hosting code and collaborating on it. It stores Git repositories online and adds tools on top, code review through pull requests, issue tracking, and automated pipelines that test and deploy software. In short, it's where development teams keep their code, review changes and ship them safely.

Is GitHub the same as Git?

No. Git is the underlying version control tool that records a project's history on a computer. GitHub is an online service that hosts Git repositories and layers collaboration and automation over them. You can use Git without GitHub, but GitHub is what turns Git into a shared, reviewable, deploy-ready workflow.

How does GitHub deploy my website?

We connect the GitHub repository to Cloudflare Pages. When a change is pushed to the main branch, Cloudflare automatically builds the site from that code and publishes it, no manual file uploads. Pull request branches also get their own preview deploys, so a change can be reviewed on a real URL before it ever reaches the live site.

Why does HDC use GitHub?

Because it makes shipping safe, reviewable and automatic. Every change goes through a pull request that's checked before it merges, automated tests run on each push, and deploys to Cloudflare Pages happen on their own. It also keeps a complete record of who changed what and why. This very website is hosted and deployed from GitHub.

Is my code safe and private on GitHub?

Yes. We keep client project repositories private, with access limited to the people who need it, and GitHub provides a full audit trail of every change. The code is backed by Git's complete history, so nothing is lost, and access can be granted or revoked cleanly as a project's team changes.

What is a pull request?

A pull request is a proposed set of changes put forward for review before being merged into the main project. It shows exactly what's being added or altered, lets automated checks run against it, and gives a chance to catch issues away from the live site. It's the mechanism that makes 'review before you ship' the default.

Want GitHub working for your business?

Tell us what you're trying to achieve, we'll show you, honestly, whether it's the right tool and how we'd apply it.

Enquire now