frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Cara Pembatalan Pinjaman Adapundi

1•akinak•5m ago•0 comments

Ask HN: Rigorous study on what jobs are declining due to AI now?

1•AznHisoka•5m ago•0 comments

Can Anyone Rescue the Trafficked Girls of L.A.'S Figueroa Street?

https://www.nytimes.com/2025/10/26/magazine/sex-trafficking-girls-la-figueroa.html
1•kevinwang•6m ago•0 comments

Python, Electron and Bangalore

https://mnvr.in/shapes
1•mnvrth•6m ago•0 comments

Study Finds No Evidence Google Penalizes AI Content

https://www.searchenginejournal.com/ahrefs-study-finds-no-evidence-google-penalizes-ai-content/55...
1•AznHisoka•7m ago•0 comments

20-year-old dropouts built AI notetaker Turbo AI and grew it to 5M users

https://techcrunch.com/2025/10/23/20-year-old-dropouts-built-ai-notetaker-turbo-ai-to-5-million-u...
1•fcpguru•9m ago•0 comments

Cara Pembatalan Pinjaman AdaPundi

1•agussalim•10m ago•0 comments

Cara Membatalkan Pinjaman AdaPundi

1•agussalim•10m ago•0 comments

130 published cover artworks for William Gibson's 'Neuromancer'

https://docs.google.com/spreadsheets/d/1-UghqeuS4aYgpMqtfF_IsaK1fm9yarxzrafxoqA-724/edit?gid=2040...
2•Luc•11m ago•2 comments

The Comfort of Watching: Why We Choose to Stay in Place

https://creators.spotify.com/pod/profile/undocumented6/episodes/The-Comfort-of-Watching-Why-We-Ch...
1•Haeuserschlucht•12m ago•1 comments

AI is about to supercharge cyberattacks

https://www.axios.com/2025/10/25/ai-is-about-to-supercharge-cyberattacks
1•Brajeshwar•12m ago•0 comments

Genetically modified banana could prevent a global crop collapse

https://www.abc.net.au/news/science/2025-10-26/gm-banana-qcav-4-genetic-modification-stops-panama...
1•Brajeshwar•12m ago•0 comments

A single point of failure triggered the Amazon outage affecting millions

https://arstechnica.com/gadgets/2025/10/a-single-point-of-failure-triggered-the-amazon-outage-aff...
1•Brajeshwar•13m ago•0 comments

Is there an IDE that can use the local open-source model?

1•haebom•14m ago•1 comments

Teams: Automatically update your work location via your organization's Wi-Fi

https://www.microsoft.com/en-us/microsoft-365/roadmap
1•campuscodi•15m ago•0 comments

Falcon: A Reliable, Low Latency Hardware Transport

https://dl.acm.org/doi/10.1145/3718958.3754353
1•teleforce•15m ago•0 comments

192 Weeks

https://notes.ekzhang.com/reflections/192-weeks
1•freediver•16m ago•0 comments

How Ancient People Saw Themselves

https://worldhistory.substack.com/p/how-ancient-people-saw-themselves
1•crescit_eundo•19m ago•0 comments

Never apologize for using sharp tools

https://simplerengineeringmanagement.substack.com/p/never-apologize-for-using-sharp-tools
1•mooreds•20m ago•0 comments

Show HN: Free Online Video Caption – Burn in your own subtitles in browser

https://videocaption.app
1•lcorinst•20m ago•0 comments

Quality software and the people who write it

https://vickiboykis.com/2025/10/20/i-want-to-see-the-claw/
1•nkko•20m ago•0 comments

Pico-Banana-400K: A Large-Scale Dataset for Text-Guided Image Editing

https://arxiv.org/abs/2510.19808
1•taubek•22m ago•0 comments

After months of the same songs on the Hot 100, 'Billboard' tweaks its rules

https://www.npr.org/2025/10/22/g-s1-94489/billboard-hot-100-chart-changes-songs
1•rbanffy•27m ago•0 comments

The AI Gold Rush Is Cover for a Class War

https://jacobin.com/2025/10/artificial-intelligence-big-tech-labor/
2•FromTheArchives•29m ago•0 comments

Discovering and Ranking the Innovative Companies

https://www.ventureradar.com/
1•salkahfi•29m ago•0 comments

Chat Control on steroids is under way

https://old.reddit.com/r/europe/comments/1ogirx5/chat_control_on_steroids_is_under_way_source_in/
1•nickslaughter02•31m ago•1 comments

NoCodeOps Joins Zapier

https://www.nocodeops.com/zapier
1•mooreds•31m ago•0 comments

Show HN: Difficulty-based SAT score calculator using official and community data

https://satscorecalc.com/
1•WanderZil•33m ago•0 comments

In Praise of Amateurism

https://blog.jakobschwichtenberg.com/p/in-praise-of-amateurism
2•jakobgreenfeld•33m ago•0 comments

EmojiSeed: Masking Seed Passwords with Emojis

https://github.com/emojiseed/bip-emojiseed
1•coperbyte•34m ago•0 comments
Open in hackernews

You Already Have a Git Server

https://maurycyz.com/misc/easy_git/
108•chmaynard•2h ago

Comments

thyristan•1h ago
Maybe I'm too old, but are there people that really didn't know that any ssh access is sufficient for using git?
liveoneggs•1h ago
most people think git = github
halJordan•1h ago
I always found these sort of categorical denigrations to be off base. If most people do think git = github then that's because they were taught it by somebody. A lot of somebodies for "most people". Likely by the same somebodies who also come to places like this. It has always taken a village to raise a child and that is just as true for an infant as a junior programmer. But instead we live in a sad world of "why didn't schools teach person x"
blueflow•54m ago
Humans are fallible, relying on hearsay is unprofessional, learn your craft properly.

Imagine what the equivalent argumentation for a lawyer or nurse would be. Those rules ought to apply for engineers, too.

loloquwowndueo•48m ago
Despite your indignation, the observation that most people think GitHub is git is entirely true. Do you point it out when you spot someone having that mistaken belief? I do.
liveoneggs•41m ago
they were taught by github
Dylan16807•5m ago
What makes you say that people complain about incorrect knowledge "instead" of teaching? Because there's nothing wrong with doing both.
albert_e•59m ago
IT support and cybersecurity teams responsible for blocking and enforcing network access restriction to "github.com" ... blocked a user request to install "git" locally citing the former policy. The organization in question does IT services, software development, and maintenance as their main business.
jiggawatts•25m ago
That’s… special.
watwut•23m ago
Sometimes I feel like IT and security people compete on how to make the work least possible.

These guys won.

bfkwlfkjf•58m ago
Nonsense...

Even someone who knows that git isn't GitHub might not be aware that ssh is enough to use git remotely. That's actually the case for me! I'm a HUGE fan of git, I mildly dislike GitHub, and I never knew that ssh was enough to push to a remote repo. Like, how does it even work, I don't need a server? I suspect this is due to my poor understanding of ssh, not my poor understand of git.

porridgeraisin•44m ago
> I don't need a server?

You do, an SSH server needs to be running on the remote if you want to ssh into it, using your ssh client - the `ssh` command on your laptop. It's just not a http server is all.

You start that server using the `sshd` [systemd] service. On VPSs it's enabled by default.

Git supports both http and ssh as the "transport method". So, you can use either. Browsers OTOH only support http.

liveoneggs•42m ago
Did you know that you can use git locally? It works just like that because ssh is a remote shell.

Read https://git-scm.com/docs/git-init#Documentation/git-init.txt...

skydhash•41m ago
Git is distributed, meaning every copy is isolated and does not depends on other's copy. Adding remotes to an instance is mostly giving a name to an URL(URI?) for the fetch, pull, push operation, which exchange commits. As Commits are immutable and forms a chain, it's easy to know when two nodes diverge and conflict resolution can take place.

From the git-fetch(1) manual page:

> Git supports ssh, git, http, and https protocols (in addition, ftp and ftps can be used for fetching, but this is inefficient and deprecated; do not use them).

You only need access to the other node repo information. There's no server. You can also use a simple path and store the other repo on drive.

setopt•53m ago
Yup. I’ve heard several people say that Git is a product from Microsoft…
devsda•43m ago
I wouldn't mind it if those people are from non-tech background.

Now, if it is a growing misconception among cs students or anyone doing software development or operations, that's a cause for concern.

littlecranky67•42m ago
The irony, when you realize that Linus Torvalds created git.
brucehoult•1h ago
Or just put the repo in a shared directory in a high-trust group of developers (or just yourself).
ryandv•1h ago
Filesystems and folders are foreign and elusive concepts to gen Z.

https://www.theverge.com/22684730/students-file-folder-direc...

politelemon•51m ago
Also relatively unknown: You can clone from a directory. It won't accomplish the backup feature but it's another option/feature.
seba_dos1•48m ago
And you can have multiple working trees with a single repo checkout.

It's one of those "of course you can" things for those who have some basic understanding of git's concepts, which you don't gain if you just repeat a few commands someone told you to use in specific situations.

kace91•47m ago
I didn’t know either - or rather, I had never stopped to consider what a server needs to do to expose a git repo.

But more importantly, I’m not sure why I would want to deploy something by pushing changes to the server. In my mental model the repo contains the SOT, and whatever’s running on the server is ephemeral, so I don’t want to mix those two things.

I guess it’s more comfortable than scp-ing individual files for a hotfix, but how does this beat pushing to the SOT, sshing into the server and pulling changes from there?

t_mahmood•37m ago
My way used to be in the past, put bare repos on Dropbox, clone the bare repo to a real path. Done.

That way, I

1. didn't have to worry about sync conflicts. Once complete, just push to origin 2. had my code backed up outside my computer

I can't exactly remember, if it saves space. I assumed it does, but not sure anymore. But I feel it was quite reliable.

I gave that way up with GitHub. But thinking of migrating to `Codeberg`

With `tailscale`, I feel we have so much options now, instead of putting our personal computer out on the Internet.

candiddevmike•19m ago
What are some fun/creative ways to do GitHub/GitLab style CI/CD with this method? Some kind of entry point script on push that determines what to do next? How could you decide some kind of variables like what the push was for?
yule•9m ago
I wrote about that idea here: https://www.stchris.net/tiny-ci-system.html
skydhash•6m ago
`man 5 githooks` is your friend. Hooks are just scripts and they can receive parameters. `post-receive` is most likely what you would want.
nicce•1h ago
Interesting. I am just trying to decide between self-hosting Forgejo and other options for hosting Git in own private network.
omani•1h ago
am using gitea. but thinking of switching to serve (charm).
sesm•1h ago
I'm also using gitea, running on RPI5. Setup took like 15 mins, highly recommend.
omani•12m ago
mine is running on an rpi zero w (v1). super low power consumption.
icy•47m ago
Could also consider running a Tangled knot (lightweight, headless git servers): https://tangled.org
rustman123•42m ago
Does this support private repositories with collaboration?
icy•27m ago
Not yet, unfortunately. Mostly due to protocol limitations—we use AT (https://atproto.com) for federation.
nicce•42m ago
That looks definitely interesting!
01HNNWZ0MV43FF•33m ago
Forgejo is working okay for me.

Hard to justify using SSH for Git. Principle of least power and all that

skydhash•13m ago
Git is distributed, so there's no least power and all that. Everyone has full power over their own copy. What you want is one copy being the source of truth. You can always use HTTP for read-only access to that copy with a limited set of people having write access to update the copy. Patches can be shared via anything (git has built-in support for email).
orblivion•30m ago
One of my favorite tools available for Linux is called gitolite. It's in the Debian repo.

https://gitolite.com/gitolite/

If you think the bare bones example is interesting and want something simple just for you or a small group of people, this is one step up. There's no web interface. The admin is a git repository that stores ssh public keys and a config file that defines repo names with an ACL. When you push, it updates the authorization and inits new repositories that you name.

I put everything in repos at home and a have multiple systems (because of VMs) so this cleaned things up for me considerably.

singpolyma3•1h ago
One note, xcode and maybe some other clients can't use http "dumb mode". Smart mode is not hard to set up, but it's a few lines of server config more than this hook.

TIL about the update options for checked out branch. In practise though usually you want just the .git "bare" folder on server

saagarjha•1h ago
I feel like this is a bug that Xcode should fix
imiric•1h ago
I've used Git over SSH for several years for personal projects. It just works with no additional overhead or maintenance.

Tip: create a `git` user on the server and set its shell to `git-shell`. E.g.:

  sudo useradd -m -g git -d /home/git -s /usr/bin/git-shell git
You might also want to restrict its directory and command access in the sshd config for extra security.

Then, when you need to create a new repository you run:

  sudo -u git git init --bare --initial-branch=main /home/git/myrepo.git
And use it like so:

  git clone git@myserver:myrepo.git
Or:

  git remote add myserver git@myserver:myrepo.git
  git push -u myserver main
This has the exact same UX as any code forge.

I think that initializing a bare repository avoids the workarounds for pushing to a currently checked out branch.

seba_dos1•1h ago
Just make the repository on the server side bare and you won't have to worry about checked out branches or renaming ".git" directory.
cl3misch•6m ago
> This is a great way to [...] work on server-side files without laggy typing or manual copying

This is the usecase mentioned in the article and it wouldn't work with a bare repo. But if the server your SSH'ing to is just a central point to sync code across machines, then you're right: multiple hoops mentioned in the article are solved by having the central repo bare.

ninkendo•58m ago
I remember the first time I tried git, circa 2006, and the first 3 commands I tried were:

    git init
    git commit -am Initial\ commit
    git clone . ssh://server/path/to/repo
And it didn’t work. You have to ssh to the remote server and “git init” on a path first. How uncivilized.

Bitkeeper and a few other contemporaries would let you just push to a remote path that doesn’t exist yet and it’d create it. Maybe git added this since then, but at the time it seemed like a huge omission to me.

1oooqooq•56m ago
this article is very bad advice. this way things are extremely brittle and there's a reason all those settings are disabled by default. you will lose data, save from very specific use cases

the vastly superior way is 'git bare' which is a first class supported command without hacky settings.

ezst•54m ago
As a git user "not by choice" (my preference going for mercurial every single day), I never understood why git needs this distinction between bare/non-bare (or commit vs staging for that matter). Seems like yet another leaky abstraction/bad design choice.
skydhash•19m ago
A repo is as database containing a tree of commits. Then you got the concept of branch, which points to a specific commit. Then there's the special pointer HEAD which is the latest commit for the current worktree.

When you checkout (now switch) a branch, HEAD is now the same as the branch (they point to the same commit). When you do operation like commit, reset, reset,... both the head and the branch are updated. So if a remote node tries to update the local node via a push on its end, that would mess up the local worktree. So you create a bare repo instead which can't contain a local worktree.

Note: A worktree is computed from the initial commit to the commit currently identified by HEAD by following the parent information on each commit.

The staging area is like a stored snapshot of what you would like to commit. You can always create patch between HEAD and the worktree, edit it, and then save the patch as the commit, then apply the leftover to the worktree. The staging just make that easier. It's a WIP patch for the next commit.

rester324•19m ago
Yeah, I am in the same boat. My files are either non-staged or committed about 99.99% of the time. For me the concept of staging is completely useless
bitbasher•43m ago
I have been doing this for many years.

If you want a public facing "read only" ui to public repositories you can use cgit (https://git.zx2c4.com/cgit/about/) to expose them. That will enable others to git clone without using ssh.

I keep my private repositories private and expose a few public ones using cgit.

max_•41m ago
I tried this and it is never as smooth as described.

Why is GitHub popular? its not because people are "dumb" as others think.

Its because GitHub "Just Works".

You don't need obscure tribal knowledge like seba_dos1 suggests [0] or this comment https://news.ycombinator.com/item?id=45711294

The official Git documentation for example has its own documentation that I failed to get work. (it is vastly different from what OP is suggesting)

The problem with software development is that not knowing such "tribal knowledge" is considered incompetence.

People don't need to deal with obscure error messages which is why they choose GitHub & why Github won.

Like the adge goes, "Technology is best when it is invisible"

[0] https://news.ycombinator.com/item?id=45711236

[1] https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-...

seba_dos1•39m ago
Are basic git concepts like bare repos "obscure tribal knowledge" these days? What do you think ".git" directory is?
max_•35m ago
Having to make a repo bare to not have issues with branches is definitely obscure.
jdboyd•32m ago
It wasn't obscure before GitHub.

Still, I like the online browser, and pr workflow.

zenmac•22m ago
Yeah this is the best arguments for GitHub type of web git GUI. Not knowing bare repo seems just like a devs not reading docs. And I'm sorry in this day and age devs needs to keep up and just type git like curl http://...../install.sh type of thing.

However would NEVER trust Github since the MS acquisition. codeberg and https://forgejo.org are perfectly sound FOSS alternative to GitHub and GigLabs nowdays.

seba_dos1•31m ago
It's obvious as soon as you consider that your push will overwrite a ref that's currently checked out in the target's repo workdir. The exact same thing happens when pushing to local repos. You don't have to make a repo bare to avoid this issue, but it's certainly the easiest way to avoid it altogether when you don't need a workdir on the server side.
Dylan16807•11m ago
It's obvious that it needs to update the ref. It's not obvious that this would cause any problems. You could fix HEAD as part of writing the ref. Automatically managing HEAD is normal git behavior.
seba_dos1•7m ago
It's obvious that something non-obvious would have to happen with the workdir behind the user's back. Imagine that you are working with your workdir while someone else pushes something to your repo. Bailing out is the only sane option.
have_faith•26m ago
The vast majority of developers working with git daily don’t know what a bare repo is, or that it exists at all. It’s not obscure knowledge as such, it’s just never come up for them as something they need.
seba_dos1•22m ago
The vast majority [0] of developers working with git daily have no mental model of git repos and just do a mental equivalent of copy'n'pasting commands and it's enough to let them do their work (until something breaks at least), so it doesn't seem like a particularly good indicator of whether something is obscure or not. There are many obscure things hiding in git, bare repos aren't one of those :)

[0] Source: pulled out of my arse.

general1465•9m ago
Now try to add a submodule X (which is a bare repository) to your repository Y

Good job, now you can't add it nor remove it, without manually removing it in .git folder.

myaccountonhn•22m ago
The cool thing is that once you know how simple it is to self host (I certainly didn't know before, just used github), you learn a skill that you can apply to many different contexts, and understand better what actually goes on in systems you depend on. That's what these "tech should be invisible" people miss, where they tout you should instead learn using SASS solutions and have zero ownership nor agency, instead of taking the time to learn transferable skills.
blueflow•21m ago
> obscure tribal knowledge

The knowledge is neither obscure nor tribal, it is public and accessible. And likely already on your system, in the form of man-pages shipped with your git binaries.

> The problem with software development is that not knowing such "tribal knowledge" is considered incompetence.

Consequently.

croes•21m ago
> Technology is best when it is invisible

For normal users. Having this tribal knowledge is basically what makes developer and it’s their job to make technology invisible for others. Someone has to be behind the curtain.

vaylian•20m ago
> Its because GitHub "Just Works".

IPv6 still doesn't work with GitHub: https://doesgithubhaveipv6yet.com/

Dylan16807•20m ago
People use github because it has a bunch of features outside git and because they don't already have a server.

Not because it's hard or obscure to put git on your server.

motorest•7m ago
> I tried this and it is never as smooth as described.

I think your comment shows some confusion that it's either the result or cause of some negative experiences.

Starting with GitHub. The primary reason it "just works" is because GitHub, like any SaaS offering, is taking care of basic things like managing servers, authorization, access control, etc.

Obviously, if you have to setup your own ssh server, things won't be as streamlined as clicking a button.

But that's obviously not the point of this post.

The point is that the work you need to do to setup a Git server is way less because you already have most of the things already set, and the ones that aren't are actually low-hanging fruit.

This should not come as a surprise. Git was designed as a distributed version control system. Being able to easily setup a stand-alone repository was a design goal. This blog post covers providing access through ssh, but you can also create repositories in any mount point of your file system, including in USB pens.

And, yes, "it just works".

> The official Git documentation for example has its own documentation that I failed to get work. (it is vastly different from what OP is suggesting)

I'm sorry, the inability to go through the how-to guide that you cited has nothing to do with Git. The guide only does three things: create a user account, setup ssh access to that account, and create a Git repository. If you fail to create a user account and setup ssh, your problems are not related to Git. If you created a user account and successfully setup ssh access, all that is missing is checking out the repo/adding a remote repo. If you struggle with this step, your issues are not related to Git.

johnisgood•27m ago
I am surprised how little software engineers (even those that use) know about git. It does not fill me with confidence for sure.
timmg•20m ago
There was a brief period when Google Cloud had support for hosting git on a pay-per-use basis. (I think it was called Google Cloud Repositories.) It had a clunky but usable UI.

I really preferred the idea of just paying for what I used -- rather than being on a "freemium" model with GitHub.

But -- as many things with Google -- it was shutdown. Probably because most other people do prefer the freemium model.

I wonder if this kind of thing will come back in style someday, or if we are stuck with freemium/pro "tiers" for everything.

XorNot•9m ago
My git "server" is a folder of bare git repositories in home directory which I share with Syncthing.

It'd be great if there was more specific support. But in practice? No problems so far.