You Already Have a Git Server | GoPeek
DevOps<br>Git<br>Deployment
You Already Have a Git Server
2025-10-24 — 2026-01-26<br>4 min read<br>By GoPeek Team
If you have a git repository on a server with SSH access, you can just clone it:
git clone ssh://username@hostname/path/to/repo
That is it. No Docker. No CI pipeline. No serverless function. No YAML file with 47 indents. Just SSH and git — two tools you already have.
Once you have done some work, you can push your changes back to the origin server. By default, git will not let you push to the branch that is currently checked out, but this is easy to change:
Run this on the remote server.
git config receive.denyCurrentBranch updateInstead
This is a nice way to work on server-side files without SSH lag or error-prone copying. You edit locally, commit normally, and git push just works. The files land on the server exactly as they are in your repo. No scp. No rsync flags you forgot. No "oops I overwrote the wrong file."
Auto-Deploy with Hooks
If you need more than just a file server, git can run a shell script when it receives a new push:
cat > .git/hooks/post-update #!/bin/sh<br>set -euo pipefail<br>cd /path/to/site<br>/path/to/generator<br>EOF<br>chmod a+x .git/hooks/post-update
You will even get the script's output sent back to your computer's terminal. So if your static site generator throws an error, you see it immediately. No tab-switching to a dashboard. No refreshing a build log page.
I have git set up to this blog's site generator. It is just so groovy to be able to type up posts locally, and then push them to the server. Write. Commit. Push. Live. That is the whole workflow.
🛡️ Two copies, zero effort
If the server breaks, you still have the copy on your laptop. If your laptop breaks, you can download everything from the server. Git is distributed by design. Your backup strategy is not a strategy — it is a side effect.
Compare that to a typical "modern" setup: your files live in a proprietary CMS, the database is on a managed instance, the media is in object storage, and your deployment pipeline is a 200-line GitHub Actions file that breaks every time a dependency updates. And your backup? A cron job you set up once and forgot to monitor.
With git-over-SSH, you get version history, rollback, branching, and off-site backup for free. The tools are 20 years old and they will still be here in 20 more.
One-line rule: If you can SSH into it, you can deploy to it. Stop complicating what git already solved.
-->
Available Now
Get GoPeek
Preview links without opening tabs. Available on Edge and Firefox. Chrome support coming soon.
Microsoft Edge
Add to Edge — free
Mozilla Firefox
Add to Firefox — free
Google Chrome<br>Soon
Coming to the Chrome Web Store
More on Development
Read Next
Deno vs Node.js: Building a Sub-ms Local Proxy for Link Previews
Read Next
Claude Opus 4.5 vs GLM-5.2
Read Next
Native Apps vs Electron Apps: The Desktop Tab Hoarders
Read Next
V8 vs SpiderMonkey: Memory Fragmentation at 100 Idle Tabs