origin 只是远端地址的默认别名,不是 GitHub 的特殊关键词。
git remote -v
git remote get-url origin
git branch -vv常用动作:
git fetch:下载远端新提交,但不改变当前工作目录;git pull --ff-only:下载并只允许快进更新,避免意外产生合并 commit;git push:上传本地 commit;git clone:第一次下载整个仓库并自动设置origin。
GitHub 不接受账号密码作为 Git push 密码。Git for Windows 通常包含 Git Credential Manager,第一次 push 会打开浏览器登录并保存凭据。
git remote set-url origin https://github.com/Abner199/git-demo.git
git push -u origin docs/update-profile-u 建立本地分支和远端分支的跟踪关系;以后同一分支通常只需 git push。
生成密钥时建议设置口令。不要上传或发送私钥 id_ed25519,只把 .pub 公钥添加到 GitHub。
ssh-keygen -t ed25519 -C "你的GitHub邮箱"将 ~/.ssh/id_ed25519.pub 内容添加到 GitHub Settings → SSH and GPG keys → New SSH key,然后测试:
ssh -T git@github.com成功时 GitHub 会说明认证成功但不提供 Shell,这是正常结果。切换仓库远端:
git remote set-url origin git@github.com:Abner199/git-demo.git
git remote -v如果 github.com:22 不通,可先测试 GitHub 官方提供的 SSH 443:
ssh -T -p 443 git@ssh.github.com连接成功后,在 ~/.ssh/config 添加:
Host github.com
HostName ssh.github.com
Port 443
User git注意 443 端口主机名是 ssh.github.com。首次连接时应对照 GitHub 官方公布的主机指纹,不要盲目接受异常指纹。
git fetch origin
git log --oneline HEAD..origin/main
git diff HEAD..origin/main如果没有输出,表示当前 main 没有落后远端。准备更新前:
git status
git switch main
git pull --ff-only不要在有未提交修改时直接 pull;先提交到功能分支或使用第 6 课的 stash。
- 不把 Personal Access Token 写入 remote URL、脚本或截图;
- 不提交
.env、SSH 私钥、云服务器密码; - 凭据泄露后立即在 GitHub 撤销,并更换实际服务密码;
- Private 仓库也不是秘密保险箱。