Switch remote HTTPS to SSH in Git
Quick snippet to switch a Git remote URL from HTTPS to SSH for easier authentication with SSH keys.
Limited availability — accepting new projects starting October 2026.
A tiny shell script that recursively scans a directory for Git repositories with uncommitted changes, nicknamed dirgit—a play on words combining "directory", "dirty", and "git".
#!/bin/bash
# Use current directory or first argument
ROOT="${1:-$(pwd)}"
# Find all Git repositories and check for dirty state
find "$ROOT" -type d -name ".git" 2>/dev/null | while read -r gitdir; do
repo="$(dirname "$gitdir")"
cd "$repo" || continue
if [[ -n $(git status --porcelain) ]]; then
echo "$repo"
fi
done
Save it as dirgit (or any name you prefer), make it executable (chmod +x dirgit), and place it in /usr/local/bin or ~/bin to use it globally.
dirgit # scan current directory
dirgit ~/code # scan a specific directory
Quick snippet to switch a Git remote URL from HTTPS to SSH for easier authentication with SSH keys.
If brew services start httpd succeeds but brew services list shows an error with root as the user, you likely have a leftover system LaunchDaemon from a previous sudo brew services invocation…
A handy one-liner to clean up all your local Git branches except main. It uses -D to force-delete each branch, even if it hasn’t been merged—so be careful. If you want a safer version…