A good way would have been to add #pubky which is git native identity and signatures, using ED25519 keys, tied to nostr identity. Another good system would be NIP-98 to log in to say gitea/gogs/gitlab. You also get free SSH, and commits, out of the box, for free. Key is to let each tool do its thing and expand the network effects. Then with a few tweaks you get enormous new functionalities. Git does come with a very basic server, yes, I've used it a few times, but it'll require a lot of support, and lacks alot of features. We were discussing this problem and using ngit for resilience with the Agentic folks today. I think in future there will be a an offering for humans (high support) and one for agents (low support).
When you mentioned pubky before as a native git identity before I looked into it but couldn't find any information about how to use it for git. Can you link to a getting started guide?
There's not much to it really. It's just an ed25519 key which has the same 64 byte hex string that nostr does for its privkey. So nostr already has an an ed25519 privkey which is native to git. It can do commits, ssh, clones, git identity etc. The #pubky is simply a base32 encoded public key in the profile (just like npub but better, without the unnecessary segwit checksum). So every nostr account gets both functionalities. Perfect for git.
I think what your saying is that it can already do some of what an ssh key can do with git because of its inherent properties.
I find it really difficult to understand the thinking here. Nostr privkeys are both nostr keys and git keys. But the argument I want to use them only as nostr keys, rather than use them both nostr keys and git keys, I cannot see as a technical argument. I just cant see it. It's like having the number "2" and saying, we can use that to add, but not to multiply. It's a thought process that I find alien, and see no way past it.
I'm not suggesting that support shouldnt be added to git for signing commits with nostr keys. It just seems there is a lower value proposition on focusing on that right now compared to the other #GitViaNostr tasks
There is no such thing as a "git key", there are only ssh keys you use to authenticate to a git server.
I'm guessing Melvin is using this term as pgp keya can do some actions as well as ssh keys eg, sign commits and tags.
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
The alternative git server implementations all have social collaboration layers (PRs, issues, comments, etc) built in which makes for a confusing UX for on boarding maintainers and for users stumble upon them via these git services repository pages.
And then you have to configure weird ssh stuff which is hard for the client and much harder for the server.
Thread collapsed
Thread collapsed