从 GitHub 私有仓库 clone 到本地并切换分支

本文记录一次从零开始的完整流程,包括私有仓库 clone、分支切换,以及 .gitconfiggit config user.name / user.email 的作用说明。 示例环境为 Windows,使用 HTTPS + GitHub token 认证。

一、准备工作

本流程默认你已经完成两件事:

  1. 本机已安装 Git
  2. 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.nameuser.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
→ 创建并切换本地分支
→ 正常开发