Get git configured on a fresh machine so you can commit, sign, and use nicer tooling.
Without these, you can't commit changes. Use --global so it applies to every repo — a bare
git config user.name only writes the current repo's config and errors out when you're not
inside a repo.
git config --global user.name <name>
git config --global user.email <email>
git config --global init.defaultBranch <default-branch-name>I like the Verified badge on my commits on GitHub, so I sign them. There are two ways —
SSH signing (simplest, reuses your existing SSH key) or GPG signing.
Reuses the SSH key you already authenticate with, so there's no separate key to manage.
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub
git config --global commit.gpgsign trueTo verify your own signatures locally, add an allowed-signers file:
echo "<your-email> namespaces=\"git\" $(cat ~/.ssh/id_ed25519.pub)" >> ~/.ssh/allowed_signers
git config --global gpg.ssh.allowedSignersFile ~/.ssh/allowed_signersYou also have to upload the key to GitHub as a signing key (separate from the auth key):
gh ssh-key add ~/.ssh/id_ed25519.pub --type signingSee SSH commit signing for the full walkthrough, including
the admin:ssh_signing_key scope gotcha.
git config --global commit.gpgsign true
git config --global user.signingkey <GPG-key-id>If you don't have a GPG key yet, create one first with gpg --full-generate-key.
paru -S lazygit github-desktop-binThese are graphical, but simpler to use and have a lower skill floor.