Update README.md
This commit is contained in:
1 parent
6661cb4940
commit
41b2f67c4a
1 file changed
+58
-58
@@ -17,64 +17,6 @@ A GitHub Desktop-style git client that runs in your terminal. Use the mouse or t
|
||||
4. **Your name and email:** the first time you commit or create a repository, gitdesk asks
|
||||
for them if git doesn't know them yet. They're saved for all your repositories.
|
||||
|
||||
## Set up SSH for git (Windows, optional)
|
||||
|
||||
`git-ssh-setup.ps1` sets up SSH, so pushes and Git LFS don't ask for your passphrase
|
||||
every time. It's handy when HTTPS pushes are refused as too big (see **Push over SSH** below).
|
||||
|
||||
**Run it:** double-click `git-ssh-setup.cmd`. Run it as your normal user, not
|
||||
"Run as administrator". From PowerShell, use:
|
||||
|
||||
```
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\git-ssh-setup.ps1
|
||||
```
|
||||
|
||||
The bypass applies to that one run only. Your system's execution policy isn't changed.
|
||||
|
||||
It asks for the SSH host. You can type `git.example.com`, `git.example.com:2222`, or paste an
|
||||
SSH clone URL. Next time it offers the host you used last: press Enter to keep it, or type
|
||||
another one to set up a second server. Then it:
|
||||
|
||||
1. turns on Windows' `ssh-agent` service. This step shows a UAC prompt, and only when the
|
||||
service needs turning on. If the OpenSSH client is missing, it installs that too.
|
||||
2. creates an ed25519 key `~/.ssh/id_ed25519_gitea` (it asks for a passphrase), or reuses the
|
||||
one that's already there.
|
||||
3. loads the key into ssh-agent. Windows keeps it loaded across reboots.
|
||||
4. adds a `Host` entry for the server to `~/.ssh/config`. If one already exists, it leaves it
|
||||
alone and shows what it would have written.
|
||||
5. points git at Windows' OpenSSH (`core.sshCommand`), so git uses the agent. It also sets
|
||||
`lfs.ssh.automultiplex false`, which stops Git LFS transfers over SSH from hanging.
|
||||
6. shows your public key and copies it to the clipboard. Add it in Gitea: your avatar >
|
||||
Settings > SSH / GPG Keys > Add Key.
|
||||
7. verifies the key in Gitea (optional). Click **Verify** next to the key, paste the token
|
||||
into the script, then paste the signature it copies back into Gitea.
|
||||
8. tests the connection with `ssh -T`.
|
||||
|
||||
You can run it again safely. It reuses the key, doesn't add it to the agent twice, and never
|
||||
changes an existing `~/.ssh/config` entry.
|
||||
|
||||
| Option | What it does |
|
||||
|---|---|
|
||||
| `-HostName git.example.com` | Skips the host prompt. `-HostName ""` skips the config entry and the test. |
|
||||
| `-Port 2222` | SSH port (default 22). |
|
||||
| `-User git` | SSH user (default `git`, which is right for Gitea, GitHub and GitLab). |
|
||||
| `-KeyName id_ed25519_github` | Key file name in `~/.ssh` (default `id_ed25519_gitea`). |
|
||||
| `-Comment "label"` | Label shown in Gitea's key list (default `user@computer`). |
|
||||
| `-Force` | Replaces the existing key instead of reusing it. |
|
||||
| `-NoVerify` | Skips the Gitea verify step (e.g. for GitHub). |
|
||||
| `-Token <hex>` | Signs this Gitea verify token without asking for it. |
|
||||
| `-NoTest` | Skips the connection test. |
|
||||
|
||||
Gitea's verify token expires quickly. If Gitea rejects the signature, click **Verify** again
|
||||
and run it again with only the new token:
|
||||
|
||||
```
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\git-ssh-setup.ps1 -NoTest -Token <new token>
|
||||
```
|
||||
|
||||
If the site is behind Cloudflare's proxy, use a hostname or IP that reaches the server
|
||||
directly. SSH doesn't go through the proxy.
|
||||
|
||||
## Build a standalone executable (optional)
|
||||
|
||||
This makes a single file that runs without Python or Textual installed.
|
||||
@@ -182,3 +124,61 @@ Tip: put this folder on your PATH (Windows), or symlink it on Linux/macOS
|
||||
|
||||
Keys: `f` fetch · `p` pull · `u` push · `b` branch · `s` stash · `t` stashes · `d` discard ·
|
||||
`o` add local repo · `n` new repo · `c` clone · `g` view on web · `l` log · `r` refresh · `space` tick/untick file · `m` file menu · `q` quit
|
||||
|
||||
## Set up SSH for git (Windows, optional)
|
||||
|
||||
`git-ssh-setup.ps1` sets up SSH, so pushes and Git LFS don't ask for your passphrase
|
||||
every time. It's handy when HTTPS pushes are refused as too big (see **Push over SSH** below).
|
||||
|
||||
**Run it:** double-click `git-ssh-setup.cmd`. Run it as your normal user, not
|
||||
"Run as administrator". From PowerShell, use:
|
||||
|
||||
```
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\git-ssh-setup.ps1
|
||||
```
|
||||
|
||||
The bypass applies to that one run only. Your system's execution policy isn't changed.
|
||||
|
||||
It asks for the SSH host. You can type `git.example.com`, `git.example.com:2222`, or paste an
|
||||
SSH clone URL. Next time it offers the host you used last: press Enter to keep it, or type
|
||||
another one to set up a second server. Then it:
|
||||
|
||||
1. turns on Windows' `ssh-agent` service. This step shows a UAC prompt, and only when the
|
||||
service needs turning on. If the OpenSSH client is missing, it installs that too.
|
||||
2. creates an ed25519 key `~/.ssh/id_ed25519_gitea` (it asks for a passphrase), or reuses the
|
||||
one that's already there.
|
||||
3. loads the key into ssh-agent. Windows keeps it loaded across reboots.
|
||||
4. adds a `Host` entry for the server to `~/.ssh/config`. If one already exists, it leaves it
|
||||
alone and shows what it would have written.
|
||||
5. points git at Windows' OpenSSH (`core.sshCommand`), so git uses the agent. It also sets
|
||||
`lfs.ssh.automultiplex false`, which stops Git LFS transfers over SSH from hanging.
|
||||
6. shows your public key and copies it to the clipboard. Add it in Gitea: your avatar >
|
||||
Settings > SSH / GPG Keys > Add Key.
|
||||
7. verifies the key in Gitea (optional). Click **Verify** next to the key, paste the token
|
||||
into the script, then paste the signature it copies back into Gitea.
|
||||
8. tests the connection with `ssh -T`.
|
||||
|
||||
You can run it again safely. It reuses the key, doesn't add it to the agent twice, and never
|
||||
changes an existing `~/.ssh/config` entry.
|
||||
|
||||
| Option | What it does |
|
||||
|---|---|
|
||||
| `-HostName git.example.com` | Skips the host prompt. `-HostName ""` skips the config entry and the test. |
|
||||
| `-Port 2222` | SSH port (default 22). |
|
||||
| `-User git` | SSH user (default `git`, which is right for Gitea, GitHub and GitLab). |
|
||||
| `-KeyName id_ed25519_github` | Key file name in `~/.ssh` (default `id_ed25519_gitea`). |
|
||||
| `-Comment "label"` | Label shown in Gitea's key list (default `user@computer`). |
|
||||
| `-Force` | Replaces the existing key instead of reusing it. |
|
||||
| `-NoVerify` | Skips the Gitea verify step (e.g. for GitHub). |
|
||||
| `-Token <hex>` | Signs this Gitea verify token without asking for it. |
|
||||
| `-NoTest` | Skips the connection test. |
|
||||
|
||||
Gitea's verify token expires quickly. If Gitea rejects the signature, click **Verify** again
|
||||
and run it again with only the new token:
|
||||
|
||||
```
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\git-ssh-setup.ps1 -NoTest -Token <new token>
|
||||
```
|
||||
|
||||
If the site is behind Cloudflare's proxy, use a hostname or IP that reaches the server
|
||||
directly. SSH doesn't go through the proxy.
|
||||
Reference in new issue
Block a user