What Is GitHub? Git, Repos, and Deploying From a Push
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 mainOn 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