git.sr.ht is a service for hosting git repositories on sr.ht.
Learning how to use git in general is out of the scope of our documentation. Here are some good resources:
We do have some general resources for learning how to use git the sr.ht way:
git.sr.ht ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ+l/lvYmaeOAPeijHL8d4794Am0MOvmXPyvHTtrqvgmvCJB8pen/qkQX2S1fgl9VkMGSNxbp7NF7HmKgs5ajTGV9mB5A5zq+161lcp5+f1qmn3Dp1MWKp/AzejWXKW+dwPBd3kkudDBA1fa3uK6g1gK5nLw3qcuv/V4emX9zv3P2ZNlq9XRvBxGY2KzaCyCXVkL48RVTTJJnYbVdRuq8/jQkDRA8lHvGvKI+jqnljmZi2aIrK9OGT2gkCtfyTw2GvNDV6aZ0bEza7nDLU/I+xmByAOO79R1Uk4EYCvSc1WXDZqhiuO2sZRmVxa0pQSBDn1DB3rpvqPYW+UvKB3SOz git.sr.ht ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCj6y+cJlqK3BHZRLZuM+KP2zGPrh4H66DacfliU1E2DHAd1GGwF4g1jwu3L8gOZUTIvUptqWTkmglpYhFp4Iy4= git.sr.ht ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60
The guidelines on resource usage are somewhat flexible. Here are some tips:
If in doubt, you're probably fine. We monitor resource usage and we'll send you a friendly email if we notice that you're using too much.
The following sections document various features of git.sr.ht.
git.sr.ht allows you to attach files, such as executables (aka binaries), PGP signatures, and so on, to annotated tags. To create an annotated tag, run the following git command:
git tag -a <tag name>
git tag -a 2.3.4 to tag version 2.3.4. Your text editor will
open, and you'll be prompted to annotate the tag - fill this in with release
notes, a changelog, etc. Consider using
git-shortlog to generate your
Save and close your editor, then use
git push --tags to publish the new tag
git push --follow-tags to push any local commits to the current
branch, along with the new tag (this can be made the default behavior by running
git config --global push.followTags true). The new tag will appear on the
"refs" page of your repository. To attach files to it, click the tag name (e.g.
"2.3.4") and use the upload form on this page.
git.sr.ht supports some git push options, which can be specified with
-o option or
fnmatch(3)pattern for build manifests to submit (
All of your push options, including ones not recognized by git.sr.ht itself, are forwarded to any webhooks you have configured for your repository.
To set any of these options permanently for a specific git repository, use the following command:
git config --add push.pushOption submit=".sourcehut/*.yml"
If you wish to change your default branch, visit the settings tab of your repository. To rename your default branch, use something like the following:
git branch -m master main git push origin :master main:main
By default, if found, a
README plaintext or
README.md markdown file
will be rendered as the repository's README.
curl -H "Authorization: Bearer your-token" \ -H "Content-Type: text/html" \ -XPUT \ --data-binary @README.html \ "https://git.sr.ht/api/repos/your-fun-repo/readme"
To set your-fun-repo's README to the contents of
README.html. Note that the
README, when rendered on the web, is still subject to the normal HTML
sanitization that is applied to Markdown.
It may be desirable to configure a builds.sr.ht job to compile your README from another markup format and submit it on each git push; if so, you will need to review the build secrets tutorial to safely store your OAuth token. Check out the example to avoid some common pitfalls.