GitHub, GitLab and Azure DevOps require authentication for private repository operations. The two recommended options are SSH keys (more secure, no password) and Personal Access Tokens (PAT, simpler to configure).
ssh-keygen -t ed25519 -C "you@email.com"
Start-Service ssh-agent
Set-Service -Name ssh-agent -StartupType Automatic
ssh-add $env:USERPROFILE\.ssh\id_ed25519
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | clip
# Paste in GitHub → Settings → SSH and GPG keys → New SSH key
ssh -T git@github.com
# Expected: Hi username! You've successfully authenticated...
git config --global credential.helper manager-core
# Git will ask for username + PAT on first push and save them automatically