行业资讯
📅 2026/8/27 2:57:20
GitHub 新手从注册到第一个仓库
GitHub 使用新手从注册到第一个仓库GitHub 是全世界最大的代码托管平台程序员的名片、开源项目的家、团队协作的基地。新手面对它最常见的困惑不是「看不懂」而是「从哪下手」——注册、建仓、提交代码、提 PR每一步都似懂非懂。这篇文章按新手的行动顺序写注册 → 建第一个仓库 → 推拉代码全流程 → 走一遍 PR → 布置个人主页末尾给一份新手最容易踩的坑清单。全文用 Windows Git Bash 终端演示macOS/Linux 的命令完全一致。GitHub 界面和命令是稳定的但个别按钮位置可能随改版移动以你打开的页面为准。截图用占位符每个命令都写了预期输出。注册与基本设置去 github.com 点 Sign up用邮箱注册。用户名会出现在你的所有公开链接里如github.com/你的用户名起名时考虑一下长期用之后改名的成本和代价都不小。密码设置完成后GitHub 会发一封验证邮件点一下验证链接激活账号。注册时顺手把两步安全配置做了头像和简介Settings → Profile、两步验证Settings → Password and authentication开启 2FA。GitHub 账号一旦绑定重要仓库或组织两步验证是保护它的最低成本手段手机验证器 App 就够用。注册完先做两件事不做后面会一直别扭。第一件配置 git 全局信息。GitHub 的提交记录是按邮箱关联到你的账号的没配好提交会变成「无名氏」。在终端执行gitconfig--globaluser.name你的用户名gitconfig--globaluser.email你注册用的邮箱# 验证gitconfig--global--list# 预期输出包含上面两项的配置清单第二件配置 SSH 密钥。这一步决定了你以后 push/pull 要不要每次输密码。生成密钥# 生成密钥一路回车即可ssh-keygen-ted25519-C你的邮箱# 查看公钥内容cat~/.ssh/id_ed25519.pub# 预期输出一行以 ssh-ed25519 AAAA... 开头的长文本把输出的整行复制到 GitHub头像 → Settings → SSH and GPG keys → New SSH key粘贴保存。然后验证ssh-Tgitgithub.com# 预期输出Hi 你的用户名! Youve successfully authenticated...看到这句SSH 就通了。创建第一个仓库两种建法网页上建好再克隆或本地建好再推送。新手走第一种直观。网页建仓建好后 GitHub 会给你一个仓库地址两种格式HTTPS: https://github.com/你的用户名/hello-world.git SSH: gitgithub.com:你的用户名/hello-world.git下面统一用 SSH 地址。把仓库拉到本地gitclone gitgithub.com:你的用户名/hello-world.gitcdhello-world# 预期输出Cloning into hello-world... 然后当前目录进入仓库clone / push / pull三个最常用的操作这三个命令构成日常循环拉到本地clone/pull→ 改代码 → 推上去push。clone把远程仓库完整复制到本地上面刚用过。push把本地提交推送到远程。# 先做一次修改比如编辑 README.md 加一行说明# 查看改动gitstatus# 预期输出modified: README.md# 加入暂存区gitaddREADME.md# 提交-m 后写说明gitcommit-m更新说明文档# 推送到远程gitpush origin main# 预期输出Enumerating objects... / To github.com:... 说明推送成功pull把远程的更新拉到本地团队协作时每天开工前先执行。gitpull# 预期输出Already up to date没有新改动时# 或Updating ... 加上更新的文件列表一个小提醒分支名是main还是master取决于你建仓时的默认分支。现在的 GitHub 新仓库默认是main。不确定就git branch看一下当前分支。PR 流程fork → 分支 → PR → reviewPull RequestPR是 GitHub 协作的灵魂。它解决的场景是你想给别人的项目贡献代码但不能直接改别人仓库。整个流程四步走第 1 步 fork。打开目标项目页面点右上角「Fork」等于把对方仓库复制一份到你名下。之后你在自己的副本上随便折腾。第 2 步 克隆 新建分支。把 fork 来的仓库克隆到本地然后建一个分支干活gitclone gitgithub.com:你的用户名/被fork的项目.gitcd被fork的项目gitcheckout-bmy-fix# 预期输出Switched to a new branch my-fix分支的规矩不要在 main 上直接改永远为每件事开独立分支。第 3 步 提交并推送到你的副本# 改完代码后gitadd.gitcommit-m修复xxx问题gitpush origin my-fix# 预期输出To github.com:你的用户名/被fork的项目.git第 4 步 发起 PR。回到 GitHub页面会提示「Compare pull request」。点击进入填两个东西字段怎么写Title一句话概括改动如 “修复登录页在移动端的布局问题”Description说清楚改了什么、为什么改、怎么测的点「Create pull request」PR 就提交给原作者了。对方仓库维护者会 review 你的代码可能直接合并Merge也可能给你评论让你改。如果让你改改完重新 push 到同一个分支PR 会自动更新不需要重新开 PR。PR 流程梳理成表步骤动作在哪做1Fork 项目GitHub 网页2克隆 建分支本地终端3修改 提交 推送本地终端4发起 PR 并描述改动GitHub 网页5按 review 意见修改本地终端 重新 push6被合并GitHub 网页PR 的 review 环节是最容易被新手忽视的。对方给了评论别只改代码——在 PR 页面回复评论说明你改了什么、为什么这么改reviewer 才能跟上你的思路。改完之后点「Resolve conversation」标记讨论已解决比闷头改代码体验好得多。还有一点PR 里的 CI 检查如果项目配了红灯时代码一般不会被合并先把检查跑绿再说。分支与合并PR 之前的必修课PR 的本质是「把分支合并回主分支」所以分支和合并的基础要过关。核心就三条命令# 新建并切换分支gitcheckout-bfeature/add-login# 看当前在哪个分支gitbranch# 预期输出* 和当前分支名* 标记当前所在分支# 把分支合并回 maingitcheckout maingitpullgitmerge feature/add-login# 预期输出Updating ... 或 Already up to date合并有两种情况。快进合并main 在你建分支后没动过直接移动指针干净利落。三方合并两边都改了git 自动合并大部分但两边改到同一行时会冲突。冲突时文件里会出现和标记手工选一边或合并两边的意图再git add加git commit完成合并。新手见到冲突就慌其实流程固定看标记 → 改文件 → add → commit。真正要练的是怎么少冲突——每次干活前先git pull把 main 的更新拉下来冲突就少很多。个人主页与 README把 GitHub 当名片README。仓库根目录的README.md是这个项目的门面任何人点进仓库先看它。新手别急着写花哨的按这个结构来项目是干嘛的、怎么安装、怎么用、一个例子、许可证。用 Markdown 写#是一级标题-是列表基本够用。一个能用的 README 模板直接复制改# 项目名 一句话说明这个项目做什么。 ## 功能 - 功能一 - 功能二 ## 安装 pip install xxx ## 使用 xxx 命令示例 ## License MIT结构比文采重要别人能看懂就行。个人主页 README。有个小技巧新建一个和用户名同名的仓库比如用户名是 zhangsan就建zhangsan/zhangsan勾选初始化 README往里写内容这段内容会直接显示在 GitHub 个人主页顶部。我见过的写法一行简介、常用技术栈图标、联系方式和「正在做什么」。这是新手最容易忽略的、性价比最高的门面工程。新手常犯错误清单带过几个新人的经验集中在这几处错误后果正确做法直接 clone 别人的项目然后乱 push推不上去无权限或污染 fork先 fork再在分支上改走 PR在 main 分支上直接开发历史混乱回滚困难每次任务开新分支git checkout -b 分支名push 前不看git status把不想提交的文件也推上去了先 status 确认范围再 add/commit/pushcommit message 写 “fix”三个月后自己也看不懂写清楚改了什么如 “fix: 修复中文用户名乱码问题”把密钥、密码写进代码推上去公钥泄露账号风险用环境变量或 gitignore 排除配置文件忘配 user.name / user.email提交显示为陌生邮箱注册后立刻配置全局git add .无脑全加把 node_modules 等大目录推上去配好.gitignore再 add一个分支同时改多个不相关的功能提交历史难 review一个分支只做一件事从不看 GitHub 的通知错过 review 请求和 CI 失败提醒每天扫一眼邮箱和页面右上角通知图标复制粘贴别人的代码不写来源许可证风险用开源代码注意它的 License 协议其中.gitignore单独说一句它用来排除不用提交的文件。Python 项目至少忽略__pycache__/和venv/Node 项目至少忽略node_modules/。GitHub 创建仓库时如果选了对应语言的模板会自动生成也可以自己补。学到这里你已经走完了日常协作的主干流程。想继续深入按这个顺序补课Git 进阶操作rebase、stash、tag、GitHub Actions自动构建测试、Issues 与项目管理用 issue 记录任务、用标签分类、开源项目贡献从修文档 typo 开始。每补一块你使用 GitHub 的半径就大一圈。结论GitHub 的学习曲线其实不陡注册、配 SSH、建仓、push/pull 这四个动作半小时就能走通之后碰到 PR 和分支再逐个补课。多数新手卡住的不是命令而是「不知道流程该长什么样」——所以这篇把每一步的预期输出都写了你照走一遍感觉自然就对了。把 README 写好、把分支习惯养好、把账号配置好你就已经超过大多数同龄的新手了。这份教程里的每一步第一次做的时候慢一点没关系重点是走通。clone 一次、push 一次、pull 一次、提一个 PR——四个动作亲手各做一遍后面再遇到就只是重复而已。Git 和 GitHub 的技能是「用熟」出来的不是「看懂」出来的。