aboutsummaryrefslogtreecommitdiffstats
path: root/git.sr.ht/index.md
blob: 9792ef575a8c6040c4f0cae76ba8b53c3227d6cc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
---
title: git.sr.ht docs
---

[git.sr.ht](https://git.sr.ht) is a service for hosting git repositories on
sr.ht.

**See also**:

- [API reference](api.md)
- [Installation guide](installation.md)

# New to git?

Learning how to use git in general is out of the scope of our documentation.
Here are some good resources:

- [The official Git book](https://git-scm.com/book/en/v2)
- [Git man pages](https://git-scm.com/docs)

We do have some general resources for learning how to use git the sr.ht way:

- [Using git-send-email for sending and reviewing patches on sr.ht](../git.sr.ht/send-email.md)
- [Code review with lists.sr.ht](../lists.sr.ht/code-review.md)

# SSH host keys

```
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
```

# git.sr.ht manual

The following sections document various features of git.sr.ht.

## Attaching files to releases

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>
```

For example, `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`](https://git-scm.com/docs/git-shortlog) to generate your
changelog.

Save and close your editor, then use `git push --tags` to publish the new tag
or use `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.

## Push Options

git.sr.ht supports some git push options, which can be specified with `-o
option` or `-o option=value`.

- **debug**: prints the UUID assigned to your git push. You may be asked to
  provide this when troubleshooting push issues.
- **skip-ci**: skips submitting builds.sr.ht jobs for this push.
- **description**: set the repository's description
- **visibility**: set the repository's visibility (`public`, `unlisted`, or `private`)

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.

## Changing the default branch

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

## Setting a custom README

By default, if found, a `README` plaintext or `README.md` markdown file
will be rendered as the repository's README.

However, you can use any HTML snippet by using [the API](api.md);
for example, if you get your [personal access token](https://meta.sr.ht/oauth),
you will be able to run:

```sh
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](https://man.sr.ht/tutorials/builds.sr.ht/using-build-secrets.md) to
safely store your OAuth token. Check out the
[example](https://git.sr.ht/~nabijaczleweli/html-readme) to avoid some common
pitfalls.