Quickstart
This walks the simplest possible path: sign up, create a repo, clone it, push a commit. About five minutes.
1. Sign up
Visit /signup. You'll need:
- A working email address (a verification link is sent there).
- A username — letters, numbers, and dashes; not in our reserved list (the form tells you if it is).
- A password — 12 characters minimum and not in the common-password list. Argon2id is used to hash; we never store the plaintext.
After you submit, the verification email arrives within a minute. Click the link to activate the account. Until you do, you can sign in but most write actions are gated.
2. Create a repository
Sign in and click "New repository" (or visit /new).
- Name — alphanumerics and dashes; can't collide with your existing repos.
- Visibility — public (anyone can read) or private (only you
- collaborators).
- Initialize — optionally add a README, a
.gitignore(pick from the templates), and a license. If you initialize, the repo has commits immediately and you can clone right away. If you don't, the repo is empty and you'll see push instructions.
3. Clone the repo
The repo page shows a "Code" dropdown with a clone URL. For HTTPS you'll need a personal access token — your account password does not work for git operations.
git clone https://shithub.sh/<your-username>/<repo>.git
cd <repo>
When prompted for credentials, the username is your shithub username and the password is the PAT.
4. Push a commit
echo "hello" >> README.md
git add README.md
git commit -m "say hello"
git push origin main
Refresh the repo page — your commit appears in the history. If
this is your first push, the repo's default branch is set to
whatever you pushed (usually main).
Where to go next
- Set up SSH so you don't have to enter a token every push.
- Open your first issue.
- Open a pull request — branch, push, compare.
- Configure notifications so you don't get buried.
View source
| 1 | # Quickstart |
| 2 | |
| 3 | This walks the simplest possible path: sign up, create a repo, |
| 4 | clone it, push a commit. About five minutes. |
| 5 | |
| 6 | ## 1. Sign up |
| 7 | |
| 8 | Visit `/signup`. You'll need: |
| 9 | |
| 10 | - A working email address (a verification link is sent there). |
| 11 | - A username — letters, numbers, and dashes; not in our reserved |
| 12 | list (the form tells you if it is). |
| 13 | - A password — 12 characters minimum and not in the common-password |
| 14 | list. Argon2id is used to hash; we never store the plaintext. |
| 15 | |
| 16 | After you submit, the verification email arrives within a minute. |
| 17 | Click the link to activate the account. Until you do, you can sign |
| 18 | in but most write actions are gated. |
| 19 | |
| 20 | ## 2. Create a repository |
| 21 | |
| 22 | Sign in and click "New repository" (or visit `/new`). |
| 23 | |
| 24 | - **Name** — alphanumerics and dashes; can't collide with your |
| 25 | existing repos. |
| 26 | - **Visibility** — public (anyone can read) or private (only you |
| 27 | + collaborators). |
| 28 | - **Initialize** — optionally add a README, a `.gitignore` (pick |
| 29 | from the templates), and a license. If you initialize, the repo |
| 30 | has commits immediately and you can clone right away. If you |
| 31 | don't, the repo is empty and you'll see push instructions. |
| 32 | |
| 33 | ## 3. Clone the repo |
| 34 | |
| 35 | The repo page shows a "Code" dropdown with a clone URL. For |
| 36 | HTTPS you'll need a [personal access |
| 37 | token](./personal-access-tokens.md) — your account password does |
| 38 | not work for git operations. |
| 39 | |
| 40 | ```sh |
| 41 | git clone https://shithub.sh/<your-username>/<repo>.git |
| 42 | cd <repo> |
| 43 | ``` |
| 44 | |
| 45 | When prompted for credentials, the username is your shithub |
| 46 | username and the password is the PAT. |
| 47 | |
| 48 | ## 4. Push a commit |
| 49 | |
| 50 | ```sh |
| 51 | echo "hello" >> README.md |
| 52 | git add README.md |
| 53 | git commit -m "say hello" |
| 54 | git push origin main |
| 55 | ``` |
| 56 | |
| 57 | Refresh the repo page — your commit appears in the history. If |
| 58 | this is your first push, the repo's default branch is set to |
| 59 | whatever you pushed (usually `main`). |
| 60 | |
| 61 | ## Where to go next |
| 62 | |
| 63 | - [Set up SSH](./ssh.md) so you don't have to enter a token every |
| 64 | push. |
| 65 | - [Open your first issue](./issues.md). |
| 66 | - [Open a pull request](./pull-requests.md) — branch, push, |
| 67 | compare. |
| 68 | - [Configure notifications](./notifications.md) so you don't get |
| 69 | buried. |