GitHub使用教程:从注册、Git基础到SSH、PR和Pages完整入门
GitHub怎么用?如果你刚开始接触编程、AI编程、Claude Code、Cursor或者网站开发,很快就会遇到Git和GitHub。 这篇教程从最基础的概念开始,讲清楚GitHub注册、仓库、Clone、Commit、Push、SSH Key、PAT、Fork、Pull Request、GitHub Actions和Pages,新手也可以直接跟着学习。
一、GitHub是什么?Git和GitHub有什么区别?
GitHub是一个基于Git的代码托管和协作平台。
刚开始接触时,很多人容易把Git和GitHub当成同一个东西,其实两者并不相同。
Git负责在电脑上管理代码和文件的版本;GitHub负责把Git仓库保存到互联网,并提供分享、协作、Issue、Pull Request等功能。
| 对比 | Git | GitHub |
|---|---|---|
| 是什么 | 版本控制工具 | 代码托管与协作平台 |
| 主要运行位置 | 本地电脑 | 互联网 |
| 主要用途 | 管理文件版本和修改历史 | 托管、分享和协作项目 |
| 是否必须联网 | 大部分本地操作不需要 | 使用在线功能时需要 |
例如你正在开发一个网站。今天修改首页,明天增加搜索功能,后天发现新版本出现问题。 如果没有Git,可能只能依赖手动备份;使用Git以后,每次重要修改都可以保存成一个版本,需要时再查看或恢复。
二、GitHub可以用来做什么?
1. 下载开源项目
大量AI工具、插件、软件、脚本以及开发项目都会发布在GitHub。
一个典型的GitHub仓库地址类似:
https://github.com/用户名/项目名称
进入一个项目后,通常可以看到:
- 项目介绍
- 安装教程
- 源代码
- 版本更新
- Issue问题讨论
- Release安装包
2. 保存自己的项目
例如这些内容都可以建立独立仓库:
- 个人网站
- Python程序
- WordPress插件
- Chrome插件
- AI项目
- Claude Code项目
- 配置文件
3. 多人一起开发
GitHub支持多人共同维护一个项目。 每个人可以在自己的分支中开发,再通过Pull Request进行审核和合并。
4. 配合Claude Code、Cursor等AI编程工具
现在非常常见的一套工作流程是:
GitHub仓库
↓
Clone到电脑
↓
使用Claude Code或Cursor修改代码
↓
Git保存修改记录
↓
Push回GitHub
因此即使以前没有认真学习过GitHub,在AI编程越来越普及以后,也很值得掌握基础操作。
三、GitHub账号注册与基础设置
进入GitHub官网以后,选择 Sign up,按照页面提示填写邮箱、密码和用户名。
用户名最好认真选择,因为以后很多仓库地址都会包含这个名称:
https://github.com/你的用户名/项目名称
建议开启双重验证
注册完成以后,可以进入:
Settings
→ Password and authentication
根据GitHub当前页面提示配置双重验证。 开启以后记得妥善保存恢复方式,避免手机丢失或者验证器无法使用以后无法正常登录。
四、Windows和Mac怎么安装Git?
Windows安装Git
Windows可以安装Git for Windows。 安装完成后通常会同时提供Git Bash。
打开终端执行:
git --version
如果显示类似:
git version 2.x.x
说明Git已经可以正常使用。
Mac安装Git
Mac可以先直接检查系统中是否已经存在Git:
git --version
如果已经安装,会直接显示版本。
使用Homebrew的用户也可以执行:
brew install git
安装完成以后再次运行:
git --version
五、第一次使用Git要配置什么?
第一次使用Git时,建议先配置提交记录中的用户名和邮箱。
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
查看当前配置:
git config --global --list
六、Repository仓库是什么?
Repository通常简称Repo,中文一般叫仓库。
可以把它理解成一个由Git管理的项目文件夹。
例如一个简单网站:
my-blog/
├── index.html
├── style.css
├── script.js
└── images/
如果这只是电脑中的普通文件夹,可以进入项目目录执行:
git init
执行以后,这个目录就会成为一个Git仓库。
七、Commit和git add是什么意思?
Commit可以简单理解成: 给当前项目保存一个明确的版本记录。
例如完成首页:
git add .
git commit -m "完成首页布局"
增加文章搜索功能:
git add .
git commit -m "增加文章搜索功能"
优化手机端:
git add .
git commit -m "优化移动端布局"
为什么Commit之前需要git add?
Git通常会区分三个阶段:
已经修改的文件
↓
准备提交的文件
↓
已经提交的版本
执行:
git add .
相当于把当前修改加入暂存区。
随后执行:
git commit -m "修改说明"
才会真正创建一条Commit记录。
八、Branch分支是什么?
Branch中文叫分支。
可以把主分支main理解成正式版本。 如果想尝试一个新功能,又不希望直接影响正式代码,可以建立新的开发分支。
例如:
git switch -c login-redesign
这个命令会创建并切换到:
login-redesign
接下来可以在这个分支修改登录页面。 确认没有问题以后,再将修改合并回main。
九、本地项目怎么上传到GitHub?
假设已经在GitHub建立一个名为 my-project 的仓库。
可以在本地项目中添加远程仓库:
git remote add origin https://github.com/USERNAME/my-project.git
然后执行:
git branch -M main
git push -u origin main
以后修改完项目,最常见的操作就是:
git add .
git commit -m "更新内容"
git push
对于普通个人项目而言,这几条命令会是使用频率最高的Git操作。
十、git clone是什么?
如果项目已经存在GitHub上,希望把它下载到电脑继续修改,可以使用:
git clone https://github.com/USERNAME/PROJECT.git
例如:
git clone https://github.com/example/demo.git
Clone和普通的“下载ZIP”并不完全一样。
使用Clone不仅会取得当前文件,还会保留Git仓库信息,后续可以继续进行Pull、Push和版本管理。
十一、HTTPS、SSH和PAT怎么选?
GitHub仓库常见两种连接地址。
HTTPS
https://github.com/user/project.git
SSH
[email protected]:user/project.git
刚开始学习时,HTTPS比较容易理解。 如果长期在自己的电脑开发,配置好SSH以后,日常Pull和Push通常会更加方便。
| 方式 | 比较适合 |
|---|---|
| SSH | 自己的电脑、长期开发、频繁Push和Pull |
| HTTPS + PAT | HTTPS连接、API、脚本以及部分第三方工具 |
PAT是什么?
PAT是 Personal Access Token 的缩写,中文通常叫个人访问令牌。
使用HTTPS进行需要身份认证的Git操作时,不能简单把GitHub网页账号密码当作Git密码使用。 部分场景可以使用Personal Access Token,或者直接配置SSH。
十二、GitHub SSH Key怎么配置?
首先检查电脑中是否已经存在SSH目录:
ls ~/.ssh
如果没有适合使用的SSH Key,可以创建:
ssh-keygen -t ed25519 -C "你的邮箱"
按照终端提示完成后,通常会生成:
id_ed25519
id_ed25519.pub
id_ed25519 是私钥,不能发送给别人,也不要上传到公共仓库。
id_ed25519.pub 才是可以添加到GitHub的公钥。
查看公钥:
cat ~/.ssh/id_ed25519.pub
复制以后进入GitHub:
Settings
→ SSH and GPG keys
→ New SSH key
添加完成以后,可以测试:
ssh -T [email protected]
第一次连接时终端可能会询问是否确认主机信息。 确认地址无误以后,根据终端提示操作即可。
十三、Star、Fork、Issue和Pull Request是什么意思?
Star:收藏项目
Star可以简单理解成收藏。 看到以后可能还会使用的项目,可以点击Star方便之后找到。
Fork:复制一份项目到自己的账户
Fork会把一个项目复制到自己的GitHub账户中。
例如原项目:
author/project
Fork以后可能变成:
yourname/project
Issue:问题和讨论
Issue经常被用来:
- 报告Bug
- 提出功能建议
- 讨论问题
- 记录开发任务
如果使用某个开源软件遇到问题,可以先到项目的Issues搜索。 很多常见错误可能已经有人讨论过。
Pull Request:请求合并修改
Pull Request通常简称PR。
可以简单理解成: “我修改了一些内容,希望把我的修改合并到你的项目。”
第一次提交PR的一般流程
Fork项目
↓
Clone到电脑
↓
创建新分支
↓
修改代码
↓
Commit
↓
Push
↓
创建Pull Request
例如:
git clone [email protected]:你的用户名/project.git
cd project
git switch -c fix-login
修改完成以后:
git add .
git commit -m "修复登录按钮问题"
git push -u origin fix-login
Push以后回到GitHub,就可以按照页面提示创建Pull Request。
十四、GitHub Actions有什么用?
GitHub Actions是GitHub提供的自动化功能。
例如每次Push代码以后,可以自动执行:
- 运行测试
- 检查代码
- 构建项目
- 部署网站
- 运行自动化脚本
常见流程类似:
你Push代码
↓
GitHub Actions自动启动
↓
执行测试或构建
↓
自动部署
这类自动化流程经常会涉及到CI/CD。
十五、GitHub Pages是什么?怎么部署网站?
GitHub Pages可以把GitHub仓库中的静态网页直接发布成网站。
例如项目包含:
index.html
style.css
script.js
就可以使用GitHub Pages发布简单的网站。
比较适合:
- 个人主页
- 产品介绍页
- 作品集
- 项目文档
- 静态博客
进入仓库的:
Settings
→ Pages
然后根据GitHub当前提供的部署方式,选择分支或者GitHub Actions进行发布。
十六、GitHub新手最容易遇到的问题
1. 为什么GitHub账号密码不能直接Push?
如果使用HTTPS操作仓库,需要使用GitHub支持的认证方式,例如PAT,或者配置SSH。
2. 为什么出现Permission denied?
常见原因包括:
- SSH Key没有正确配置
- 使用了错误的GitHub账号
- 没有仓库写入权限
- 远程仓库地址填写错误
可以先执行:
git remote -v
查看当前远程仓库地址。
使用SSH时还可以测试:
ssh -T [email protected]
3. 为什么Commit没有出现在GitHub贡献图?
其中一个常见原因是Commit使用的邮箱没有关联到对应GitHub账户。
可以检查:
git config user.email
4. 为什么git push显示rejected?
通常代表远程仓库存在本地没有的更新。
可以先查看情况,再根据项目状态执行:
git pull
如果出现冲突,需要解决冲突以后再Push。
5. .git文件夹能删除吗?
不建议随便删除。
.git 中保存着当前仓库的Git元数据、版本历史和仓库配置。
删除以后,当前目录就不再是原来的完整Git仓库。
6. API Key和密码可以上传GitHub吗?
不要。
下面这些内容都不应该直接上传到公共仓库:
- OpenAI API Key
- Anthropic / Claude API Key
- 数据库密码
- 服务器密码
- 支付密钥
- Token
- SSH私钥
本地项目经常会把敏感配置保存在 .env 中,然后通过 .gitignore 避免提交。
十七、GitHub新手最常用的Git命令
刚开始不需要一次记住几十条命令,先掌握下面这些就足够完成很多基础操作。
| 命令 | 作用 |
|---|---|
git status |
查看当前仓库状态 |
git pull |
获取远程仓库中的更新 |
git add . |
把当前修改加入暂存区 |
git commit -m "说明" |
创建一次提交记录 |
git push |
把本地提交上传到远程仓库 |
git log |
查看提交历史 |
git branch |
查看当前分支 |
git switch -c 分支名 |
创建并切换到新分支 |
git switch main |
切换到main分支 |
git remote -v |
查看远程仓库地址 |
git clone 仓库地址 |
把远程仓库Clone到电脑 |
十八、Git和GitHub到底需要学到什么程度?
如果你的目标主要是AI编程、个人项目、搭建网站、使用Claude Code、Cursor或者修改开源项目,其实没有必要先把Git学到非常深入再开始。
第一阶段先掌握这一条完整流程:
git clone
↓
修改文件
↓
git status
↓
git add
↓
git commit
↓
git push
熟悉以后,再逐步学习:
- Branch
- Merge
- Pull Request
- SSH
- GitHub Actions
很多Git命令只有真正遇到对应的问题以后,才会理解它到底解决什么问题。
十九、GitHub常见问题 FAQ
GitHub是免费的吗?
GitHub提供免费账户,可以满足大量个人学习、开源项目和普通开发需求。部分高级团队功能、额外计算资源和其他服务可能收费,具体以GitHub官方当前套餐为准。
不会编程可以使用GitHub吗?
可以。即使不会编程,也可以使用GitHub下载开源项目、查看教程、收藏项目、提交Issue或者部署简单的静态页面。
Git和GitHub是一个东西吗?
不是。Git是版本控制工具,GitHub是基于Git的在线代码托管和协作平台。
新手应该用HTTPS还是SSH?
偶尔使用GitHub可以从HTTPS开始。如果经常在自己的电脑进行Pull和Push,配置SSH以后通常更加方便。
GitHub上的项目可以直接下载吗?
可以。只是查看文件可以直接下载ZIP;如果准备继续修改代码,通常更适合使用git clone。
GitHub Pages可以做正式网站吗?
GitHub Pages适合静态网站、项目文档、作品集和个人主页。如果网站依赖传统服务器端程序或者数据库,则需要其他服务器方案。
Git负责管理本地项目版本,GitHub负责在线托管、分享和协作。
对于刚开始学习GitHub的人,第一阶段真正需要掌握的并不多:
创建仓库 → Clone → 修改文件 → Commit → Push
把这一条流程真正使用几次以后,再学习Branch、Pull Request、SSH、Actions和Pages,会比一开始死记大量Git命令容易很多。