Back to Blog

What Is GitHub? Git, Repos, and Deploying From a Push

Kumar Saha
September 30, 2026
6 min read

GitHub is a website that hosts Git repositories — it stores your code's full history online, lets other people (or automated tools) see and work with it, and adds collaboration features like pull requests, issues, and automation on top of plain Git.

Git vs. GitHub — the distinction that trips people up

Git is version control software that runs on your own computer. It tracks every change you make to a project, lets you go back to any earlier point, and lets you work on separate branches without stepping on your own (or anyone else's) work. Git works completely offline — you don't need GitHub, or any internet connection, to use it.

GitHub is a company (owned by Microsoft) that hosts Git repositories on the web. It's the most common place developers push their Git history to, so others — teammates, collaborators, or automated services — can access it too. GitLab and Bitbucket are competitors that do the same job.

The core concepts

  • Repository (repo) — a project's folder, plus its entire history of changes
  • Commit — a saved snapshot of changes, with a message describing what changed
  • Branch — an independent line of work, so you can build a feature without touching the main codebase until it's ready
  • Pull request — a request to merge one branch into another, usually reviewed before it's accepted

What GitHub is actually used for, beyond storing code

Treating GitHub as just "cloud storage for code" misses most of what makes it useful. Two things matter more in practice:

  • Collaboration. Pull requests, code review comments, and issue tracking happen where the code already lives, not in a separate tool.
  • Automation triggers. GitHub can notify other services the instant something happens in your repo — a push, a new pull request, a tag — via webhooks. This is the part that makes modern deployment possible.

The git-push superpower

Here's the part that matters for actually shipping software: a webhook means a plain git push can trigger a real deployment, automatically, with nothing manual in between.

git add .
git commit -m "fix the bug"
git push origin main

On Abasthan, that push is the entire deployment step. Abasthan is subscribed to your repo's push webhook, so the moment that push lands, it clones the new code, builds it, and rolls out the new version — no separate CI/CD pipeline to write or maintain. See the full deployment flow for what happens in between.

FAQ

Do I need GitHub specifically to deploy on Abasthan?

No — Abasthan connects to GitHub, GitLab, and Bitbucket. The auto-deploy-on-push mechanism works the same way regardless of which one hosts your repo.

Do I need a public repository?

No. Private repos work the same way — Abasthan authenticates through your Git provider's own OAuth flow and only accesses the repos you explicitly connect.

What exactly is a webhook?

A webhook is an automated HTTP request one service sends to another the instant something happens — here, GitHub notifying Abasthan the moment you push, instead of Abasthan having to repeatedly check for new commits.

Can I turn off auto-deploy and deploy manually instead?

Yes, auto-deploy can be turned off per-service if you'd rather trigger deploys by hand from the dashboard.

Turn your next git push into a live deployment

Connect a GitHub, GitLab, or Bitbucket repo and Abasthan deploys automatically on every push — no CI/CD pipeline to configure. First app free.

Deploy Free

KS
Kumar Saha
Abasthan