首页 / Git 入门教程 / 使用 GitHub

Git 入门教程

使用 GitHub

本教程共 26 篇 · 第 14 篇 · 更新于 2026-07-29 · 约 8 分钟阅读

GitGit 入门教程GitHubSSH密钥Pull Request仓库托管

14. 使用 GitHub

本节目标:了解 GitHub 是什么,学会配置 SSH 密钥实现免密推送,能描述 Pull Request 在协作中的位置。

Git 是工具,GitHub 是平台。工具管版本,平台管协作。学会了 Git 命令,再摸熟 GitHub,你才算真正进入了开源世界的大门。

GitHub 是什么

GitHub 是全球最大的 Git 仓库托管平台。它干了三件事:

  1. 帮你远程存储代码仓库。
  2. 提供 Web 界面浏览代码、提交历史、Issues。
  3. 用 Pull Request 机制让多人协作变得有迹可循。

对新手来说,它最大的价值是:免费的远程仓库。注册账号,你就有了一个”云端硬盘”。

注册账号

打开 github.com,用邮箱注册。用户名会成为你所有仓库 URL 的一部分,想清楚再填。

验证邮箱后,点右上角头像进入 Settings,把基本资料填一填。

创建仓库

登录后点右上角的 ”+” → “New repository”。

填几个关键项:

  • Repository name:仓库名,比如 my-project
  • Visibility:Public(公开)或 Private(私有)。公开仓库任何人都能看。

其它选项:Add a README、.gitignore、license,新手可以先都不勾,空仓库方便练习。

创建完成后,GitHub 会给你仓库的 HTTPS 或 SSH 地址:

https://github.com/yourname/my-project.git
git@github.com:yourname/my-project.git

把本地仓库推到 GitHub

假设本地已经有一个仓库了:

git remote add origin git@github.com:yourname/my-project.git
git branch -M main
git push -u origin main

三步走:关联远程、确保主分支叫 main、推送并建立跟踪。

如果是 GitHub 上先建好仓库、本地还没有,就先 clone:

git clone git@github.com:yourname/my-project.git
cd my-project

SSH 密钥配置

HTTPS 每次 push 都要输密码很烦。SSH 配一次,终身免密。

第一步:生成密钥

打开 Git Bash(Windows)或终端,运行:

ssh-keygen -t ed25519 -C "your_email@example.com"

如果系统不支持 ed25519,用 rsa:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

一路回车,使用默认路径和空密码。

生成后,~/.ssh/ 目录下会有两个文件:

  • id_ed25519(或 id_rsa):私钥,不能给别人看。
  • id_ed25519.pub(或 id_rsa.pub):公钥,可以贴到 GitHub。

第二步:把公钥贴到 GitHub

cat ~/.ssh/id_ed25519.pub

复制输出。

进入 GitHub → Settings → SSH and GPG keys → New SSH key。

Title 随便填(比如”公司笔记本”),Key 框里粘贴公钥内容,保存。

第三步:测试连通性

ssh -T git@github.com

首次连接会提示确认 host 指纹,输入 yes。成功的话看到:

Hi yourname! You've successfully authenticated, but GitHub does not provide shell access.

这就说明 SSH 配好了。以后所有 git@github.com:... 的地址都能免密操作。

Warning

私钥文件(没有 .pub 后缀的那个)绝对不要上传到任何平台或发给任何人。公钥可以随便分享。

多个 SSH 密钥怎么办

工作和生活两台电脑,各自有一对密钥。在 ~/.ssh/ 下建一个 config 文件:

Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519

Host github-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_work

用的时候把 remote 地址里的 git@github.com 换成配置的 Host 名即可。

从 GitHub 克隆

公开仓库直接 clone:

git clone https://github.com/torvalds/linux.git

或 SSH 方式(推代码必须用 SSH):

git clone git@github.com:torvalds/linux.git

-o 可以指定远程仓库的默认名字:

git clone -o upstream git@github.com:torvalds/linux.git

推送到 GitHub

git push origin main

HTTPS 第一次 push 会弹登录窗口。SSH 配好后不会。

如果想把本地分支推送到不同名的远程分支:

git push origin local-branch:remote-branch

Fork 与 Pull Request 概念

这一节只讲概念,不实战。知道这三步流程就够了。

Fork

在 GitHub 上点仓库的 “Fork” 按钮,对方仓库会完整复制到你自己的账号下。你有完全的读写权限。

Clone → 改 → Push

把 fork 下来的仓库 clone 到本地,切分支、改代码、提交、推送到你的 fork。

Pull Request(PR)

在你的 fork 页面点 “New pull request”,选分支、写说明、提交。

PR 是告诉原仓库维护者:“我改了点东西,你看看要不要合进来。”

对方可以评论、请求修改。你继续往 fork 上推提交,PR 会自动更新。

维护者满意后,点 “Merge pull request”,你的代码就进入原仓库了。

GitHub 协作关系图

原仓库 (upstream)

    │  Fork

你的 GitHub 账号下的副本 (origin)

    │  Clone

本地仓库

    │  Push

你的 GitHub 副本 (origin)

    │  Pull Request

原仓库 (upstream)

本地 origin 指向你的 fork,手动再加一个 upstream 指向原仓库:

git remote add upstream https://github.com/origin/repo.git

定期从 upstream 拉最新代码保持同步:

git fetch upstream
git switch main
git merge upstream/main

使用 GitHub 的几个小建议

  • 仓库描述写清楚,README 好好写,这是项目的脸面。
  • 敏感信息(密钥、密码、token)不要提交到仓库。
  • .gitignore 提前配好,别把 node_modules 之类的大户推上去。
  • 善用 Issues 和 Discussions 记录问题和讨论。

本章小卡片

概念说明
SSH 密钥公钥贴 GitHub,私钥留本地,实现免密推送
Fork把别人的仓库复制到你账号下
PR请求对方合并你的提交
origin默认指向你 fork 的仓库
upstream习惯上指向原始上游仓库
Note

公开仓库任何人都能看。公司项目、个人敏感代码,记得选 Private 或者自建 GitLab。