从 GitHub 私有仓库 clone 到本地并切换分支
本文记录一次从零开始的完整流程,包括私有仓库 clone、分支切换,以及 .gitconfig、git config user.name / user.email 的作用说明。
示例环境为 Windows,使用 HTTPS + GitHub token 认证。
一、准备工作
本流程默认你已经完成两件事:
- 本机已安装 Git
- GitHub 已生成 Personal Access Token,并具备
repo权限
Git 不存在“登录态”,token 只在访问远程仓库时使用。
二、clone 私有仓库到本地
进入你希望存放代码的目录:
cd D:\python_study
直接 clone 仓库:
git clone https://github.com/用户名/仓库名.git
第一次会提示输入凭据:
- Username:GitHub 用户名
- Password:GitHub token
clone 成功后,本地会生成一个新的目录:
仓库名/
├─ .git
├─ ...
从这一刻起,这个目录才是 Git 仓库。
三、查看和切换分支
进入仓库目录:
cd 仓库名
查看本地分支:
git branch
查看远程分支:
git branch -r
1. 切换到已存在的本地分支
git checkout 分支名
2. 远程分支首次使用的正确方式
如果分支只存在于远程,例如:
origin/codex/create-inspection-report-template-and-upload-flow
不要直接 checkout origin/xxx,否则会进入 detached HEAD。
正确做法:
git checkout -b codex/create-inspection-report-template-and-upload-flow \
origin/codex/create-inspection-report-template-and-upload-flow
这一步会:
- 创建本地分支
- 绑定远程分支
- 自动切换到该分支
验证:
git branch
当前分支前会有 *。
四、关于 detached HEAD 的说明
执行下面这种命令:
git checkout origin/某分支
Git 会进入 detached HEAD 状态。 该状态适合查看代码,不适合长期开发。
如果已经进入 detached HEAD,可以这样补救:
git switch -c 新分支名
即可把当前状态接入一个正式分支。
五、.gitconfig 是什么
.gitconfig 是 Git 的用户级配置文件,通常位于:
- Windows:
C:\Users\用户名\.gitconfig - Linux/macOS:
~/.gitconfig
可以用命令查看其内容:
git config --global --list
这个文件不属于任何仓库,对本机所有 Git 仓库生效。
六、user.name 和 user.email 的作用
这两个配置不是 GitHub 登录信息,而是:
- 写入 commit 记录
- 用于标识提交作者
查看当前配置:
git config user.name
git config user.email
如果未设置,建议设置全局值:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
设置后,新提交会显示为:
Author: 你的名字 <你的邮箱>
注意 即使这里写的是别人的名字,也不影响 GitHub 的认证权限。
七、如何判断当前是否已认证
Git 无法查看“登录状态”,只能通过实际访问判断。
执行:
git fetch
结果说明:
- 不提示输入凭据,执行成功 本机存在有效 token
- 提示输入用户名和 token 本机未保存或已清除凭据
八、如何清除 GitHub 认证信息
Windows 环境:
控制面板 → 凭据管理器 → Windows 凭据 删除:
github.com
git:https://github.com
删除后,再次 git fetch / git pull 会重新要求输入 token。
九、流程总结
顺序只有这一条是硬规则:
生成 token
→ git clone
→ 创建并切换本地分支
→ 正常开发