AIWords 4464Read time12 min

GitHub 新手入门指南:从仓库、Commit、Fork 到一天一提交

一篇面向零基础用户的 GitHub 入门指南,解释仓库、Commit、Branch、Pull Request、Fork、Star、Watch、Issue 等常见概念,并给出适合新手的一天一提交练习方法。

GitHub 新手入门指南:从仓库、Commit、Fork 到一天一提交

很多人第一次打开 GitHub,会被一堆英文按钮劝退:RepositoryCommitBranchPull RequestForkStarWatchIssueActions……看起来像程序员专属工具。

但 GitHub 可以先用一句很简单的话理解:

txt GitHub = 一个用来存放代码、记录修改、协作开发、展示项目的网站。

如果你正在学习 AI 工具、Claude Code、Codex、Cursor、Vercel、Next.js、Python 项目,GitHub 基本绕不开。很多开源项目托管在 GitHub 上,很多网站部署也会连接 GitHub 仓库。

这篇文章不追求一次讲完所有 Git 命令,而是先帮助新手理解 GitHub 页面上最常见的概念和按钮。先看懂页面,再慢慢学命令,会轻松很多。

一、Git 和 GitHub 是一回事吗?

不是。

名称可以怎么理解作用
Git本地版本管理工具记录文件每一次修改,方便回退和协作
GitHub在线代码托管平台把 Git 项目放到网上,方便展示、备份、协作

简单说:

txt Git 是工具,GitHub 是平台。

你可以在自己电脑上使用 Git 管理代码,也可以把代码推送到 GitHub 上保存和展示。Git 更像底层工具,GitHub 更像一个围绕 Git 建立起来的网站和协作平台。

二、Repository:仓库是什么?

Repository 通常简称为 repo,中文可以叫“仓库”。

一个仓库就是一个项目的文件夹。例如:

txt my-website/ ├── README.md ├── package.json ├── src/ └── public/

在 GitHub 上,一个仓库通常包含:

  • 项目代码
  • 项目说明文档
  • 修改记录
  • Issue 讨论
  • Pull Request 协作记录
  • Actions 自动化流程

如果你想展示自己的网站、Python 工具、AI Agent 项目,就可以创建一个 GitHub 仓库。对于个人学习者来说,仓库不仅是备份代码的地方,也可以看作长期作品集。

三、README:项目说明书

README.md 是 GitHub 项目里最重要的说明文件之一。

当别人打开你的仓库时,GitHub 通常会自动展示 README 内容。它应该尽量讲清楚:

1. 这个项目是做什么的。 2. 如何安装和运行。 3. 有哪些主要功能。 4. 用到了哪些技术。 5. 是否有项目截图或演示链接。 6. 作者、许可证和其他说明。

对于个人项目来说,README 写得清楚,比单纯堆代码更容易让别人快速理解你的能力。尤其是简历项目、作品集项目、开源学习项目,README 就像项目的门面。

四、Commit:提交是什么意思?

Commit 可以理解为一次“保存版本”。

你每完成一小步修改,就可以做一次 commit,把当前状态记录下来。例如:

txt 第一次 commit:初始化项目 第二次 commit:添加首页布局 第三次 commit:修复搜索功能 第四次 commit:更新 README 文档

Commit 的意义不是“随便点一下保存”,而是给项目留下清晰的修改历史。以后你想知道某个功能什么时候加的、某个 bug 是怎么出现的,就可以回看 commit 记录。

一个好的 commit message 应该简洁说明你做了什么,例如:

txt Add homepage layout Fix broken search filter Update README installation guide Refactor API request logic

中文项目也可以写中文:

txt 新增首页布局 修复搜索筛选问题 更新 README 安装说明 重构 API 请求逻辑

新手刚开始不用追求特别专业的 commit 规范,但至少要避免写成 aaatest随便改改 这种完全看不出含义的信息。

五、Git commit 身份由什么决定?

很多新手会误以为:

txt 我在 VS Code 登录了 GitHub,所以 commit 作者就是这个 GitHub 账号。

这不完全对。

Git commit 的作者身份主要由本地 Git 配置决定,也就是:

bash git config user.name git config user.email

如果你想查看当前项目的 Git 身份,可以在终端输入:

bash git config user.name git config user.email

如果你想设置全局身份,可以输入:

bash git config --global user.name "Your Name" git config --global user.email "your-email@example.com"

需要注意:

txt VS Code / GitHub 登录:主要用于 push、pull、访问远程仓库。 Git commit 作者:主要由 git config 的 user.name 和 user.email 决定。

所以换 GitHub 账号后,最好检查一下本地 Git 配置,避免 commit 仍然显示旧邮箱或旧名字。

六、Main 与 Branch:主线和分支到底是什么?

这是 GitHub 新手最容易卡住的地方。

很多人看到 mainbranchmergepull request,会下意识以为它们是几个不同文件夹,或者以为 branch 就是把整个项目完整复制了一份。

更准确的理解是:

txt main = 项目的主线版本,通常代表当前最稳定、最正式的代码。 branch = 从某个时间点分出去的一条修改路线,用来安全地做实验或开发新功能。

GitHub 官方文档里提到,新仓库会包含一个默认分支。别人打开仓库、查看代码、克隆项目时,默认看到的通常就是这个默认分支。现在很多新项目默认分支名叫 main,有些旧项目仍然可能叫 master

1. 先用一个普通比喻理解

可以把一个项目想象成一篇正在写的文章。

main 就像正式发布版:

txt 正式文章.docx

你现在想大改一章,但又怕改坏原文,所以不会直接在正式文章上乱改,而是复制一份草稿:

txt 正式文章.docx 修改第二章草稿.docx

你在草稿里随便改。改得好,再合并回正式版;改得不好,直接丢掉草稿,正式版不受影响。

在 Git 里,这条“草稿路线”就叫 branch。

不过要注意:Git 的 branch 并不是笨重地复制整个文件夹。Git 官方文档对 git branch 的说明是,分支会创建一个新的 branch head,指向当前 HEAD 或指定的起点。新手可以先把它理解成:

txt branch 不是完整复制一份项目,而是从某个 commit 开始,记录一条新的修改路线。

2. 为什么需要 branch?

因为真实项目经常会同时发生几件事:

txt 主线代码需要保持稳定; 你想开发一个新功能; 别人正在修复一个 bug; 还有人正在重写 README; 线上突然出了问题,需要紧急修复。

如果所有人都直接改 main,项目很容易乱掉。一个人改坏了,所有人都会受影响。

所以更安全的做法是:

txt main 保持稳定 新功能开 feature 分支 bug 修复开 fix 分支 文档修改开 docs 分支 确认没问题后,再合并回 main

例如:

txt main ├── feature/search-page ├── fix/mobile-layout └── docs/update-readme

这就像一条主路旁边分出几条施工便道。施工便道上可以改造、试错、返工;等修好了,再接回主路。

3. main 是什么?

main 通常是仓库的默认分支,也就是项目的主分支。

你可以把 main 理解成:

txt 这个项目当前对外展示的主要版本。

常见情况包括:

  • 别人打开你的 GitHub 仓库,默认看到的通常是 main
  • 别人 clone 你的仓库,本地默认拿到的通常是 main
  • 网站部署平台,比如 Vercel,常常会监听 main 分支的更新。
  • 团队项目里,main 往往被要求保持可运行、可部署、相对稳定。

所以新手最好养成一个习惯:

txt 不要在 main 上随便做大改动。

小项目、个人学习项目可以直接改 main,问题不大;但如果是正式项目,最好开新分支修改。

4. branch 是什么?

branch 中文叫“分支”。

你可以把它理解为:

txt 从 main 的某个版本分出去,单独做一组修改。

例如你的网站现在在 main 上是稳定的:

txt main: 首页正常、文章页正常、搜索正常

你想新增一个评论功能,但不确定会不会改坏页面。于是你开一个新分支:

txt feature/comment-system

然后你在这个分支上开发评论功能。此时:

txt main 仍然保持原样; feature/comment-system 里可以大胆修改。

等你测试确认没问题,再把这个分支合并回 main

5. branch 不是 fork

新手还容易混淆 branchfork

概念发生在哪里可以怎么理解
Branch同一个仓库内部同一个项目里分出一条修改路线
Fork不同 GitHub 账号 / 仓库之间把别人的仓库复制一份到自己账号下

例如:

txt 你自己的仓库里开 feature/search-page,这叫 branch。 你把别人的项目复制到自己账号下,这叫 fork。

所以:

txt branch 是仓库内部的分支; fork 是仓库之间的复制。

6. 一个最简单的分支工作流

对于新手,先记住这个流程就够了:

txt 1. main 上是稳定版本 2. 从 main 创建一个新 branch 3. 在 branch 上修改文件 4. commit 保存修改 5. push 到 GitHub 6. 创建 Pull Request 7. 检查没问题后 merge 回 main 8. 删除已经完成的 branch

对应到真实场景:

txt main → 新建 feature/update-homepage → 修改首页 → commit: Update homepage layout → push → Pull Request → merge into main

合并以后,main 就包含了这个新功能。

7. 常见分支命名

分支名最好能说明你正在做什么。

常见写法:

txt feature/login-page feature/search-function fix/mobile-navbar docs/update-readme refactor/api-client

大致规则是:

前缀用途示例
feature/新功能feature/search-page
fix/修 bugfix/login-error
docs/文档修改docs/update-readme
refactor/重构代码refactor/api-client

新手不需要过度纠结命名规范,但最好不要用 test1newnewfinal-version 这种看不出含义的名字。

8. 用一句话总结 main 和 branch

可以这样记:

txt main 是主线,branch 是支线。 main 负责稳定展示,branch 负责安全修改。 branch 改好了,通过 Pull Request 合并回 main。

如果你是个人项目,刚开始可以直接在 main 上提交;但当你的项目变复杂,或者你担心改坏网站,就应该开始使用 branch。

七、Pull Request:PR 是什么?

Pull Request 简称 PR,可以理解为:

txt 我改好了一部分内容,请你检查一下。如果没问题,就合并进主项目。

PR 常见于团队协作和开源项目。

例如你 fork 了别人的项目,修复了一个 bug,然后提交 PR 给原作者。原作者可以查看你的修改,讨论、要求调整,最后决定是否合并。

PR 不是单纯“上传代码”,而是一个审查、讨论、合并代码的协作流程。GitHub 官方文档也把 Pull Request 描述为一种建议修改、接收反馈、处理冲突和推进合并的机制。

八、Fork:复刻 / 派生是什么意思?

Fork 可以理解为:

txt 把别人的 GitHub 仓库复制一份到自己的账号下。

Fork 之后,你可以在自己的副本里自由修改,不会影响原项目。

典型流程是:

txt 看到一个开源项目 → 点击 Fork → 在自己的 fork 仓库里修改 → 提交 commit → 发起 Pull Request → 请求原项目合并你的修改

对于新手来说,Fork 有两个常见用途:

1. 学习别人的项目结构。 2. 基于别人的开源项目做二次开发。

但要注意,Fork 不等于拥有版权。使用别人的项目之前,最好查看项目的 License,确认自己能否复制、修改、商用或再发布。

九、Star:收藏 / 点赞是什么意思?

Star 可以理解为 GitHub 上的收藏或点赞。

你看到一个有价值的项目,可以点击 Star,方便以后找回来。

Star 数量也常被用来粗略判断项目受欢迎程度,但它不是唯一标准。一个项目 Star 很多,不代表一定适合你;一个项目 Star 不多,也不代表没有价值。

对于学习 AI、Agent、前端、Python 的人来说,可以把 Star 当成自己的开源项目收藏夹。

十、Watch:关注项目动态

Watch 表示关注一个仓库的通知。

如果你 Watch 了一个项目,GitHub 可能会把这个项目的 Issue、PR、Release 等动态通知你。

一般新手不需要随便 Watch 太多项目,否则通知会很多。

可以简单理解:

按钮含义
Star我觉得这个项目不错,先收藏
Watch我想持续关注这个项目的更新和讨论
Fork我想复制一份到自己账号下修改

十一、Issue:问题、建议和讨论

Issue 可以理解为项目里的“问题单”或“讨论帖”。

常见用途包括:

  • 报告 bug
  • 提出新功能建议
  • 记录待办事项
  • 进行项目讨论
  • 提问使用问题

例如:

txt Bug: Search does not work on mobile Feature request: Add dark mode Question: How to configure API key?

对于自己的项目,也可以用 Issue 管理待办任务。比如你做个人网站,可以给自己开几个 Issue:修复移动端样式、补充 SEO 描述、添加文章搜索、整理 README。这样项目会更像一个真实工程,而不是一堆零散文件。

十二、Actions:自动化流程

GitHub Actions 是 GitHub 自带的自动化工具。

它可以在你 push 代码后自动执行一些任务,例如:

  • 自动测试
  • 自动构建
  • 自动部署
  • 检查代码格式
  • 发布版本

例如很多 Vercel、Next.js、Python 项目都会结合 GitHub Actions 或其他部署平台完成自动化流程。

新手刚开始不用急着学 Actions,但看到这个按钮时,知道它和自动化有关就可以了。等你学会基础的 commitpushbranchPR 后,再学 Actions 会更自然。

十三、Code 按钮:下载和复制仓库地址

在 GitHub 仓库页面,绿色的 Code 按钮很重要。

点击它通常可以看到:

  • HTTPS 地址
  • SSH 地址
  • GitHub CLI 地址
  • Download ZIP

常见命令:

bash git clone https://github.com/username/project-name.git

意思是把远程 GitHub 仓库下载到本地电脑。

如果你只是想看看代码,不想用 Git,也可以点击:

txt Download ZIP

把整个项目下载成压缩包。

十四、Push、Pull、Clone 分别是什么意思?

这几个词非常常见。

命令 / 概念中文理解作用
clone克隆 / 下载把 GitHub 仓库下载到本地
push推送把本地 commit 上传到 GitHub
pull拉取把 GitHub 上的新内容同步到本地
commit提交在本地记录一次修改

一个简单流程是:

txt clone 项目到本地 → 修改文件 → commit 记录修改 → push 上传到 GitHub

如果别人也改了远程仓库,你需要:

txt pull 拉取最新内容 → 再继续修改 → commit → push

十五、一天一提交是什么意思?

很多人说的“一天一提交”,通常是指每天在 GitHub 上做一次有效贡献,让自己的贡献图保持连续。

GitHub 个人主页上有一个绿色贡献图,它会显示你在不同日期的贡献情况。贡献可以包括 commit、pull request、issue、discussion 等活动,但 GitHub 对哪些活动会显示在贡献图上有具体规则,并不是所有操作都会被计入。

新手要注意:

txt 一天一提交不是为了刷绿格子,而是为了养成持续迭代项目的习惯。

比较健康的做法是每天做一个小而真实的改动,例如:

  • 修改 README 的一段说明
  • 修复一个小 bug
  • 增加一个小功能
  • 整理项目目录
  • 补充一条学习笔记
  • 优化一个页面样式
  • 添加一个测试用例

不建议为了提交而提交无意义内容,例如每天只改一个空格。这样对个人成长和作品展示帮助不大。

十六、适合新手的一天一提交练习法

如果你不知道每天提交什么,可以按照这个节奏来。

1. 第 1 天:创建仓库

创建一个新仓库,例如:

txt github-learning-notes

添加一个 README,写清楚这个仓库用来记录 GitHub 学习笔记。

2. 第 2 天:补充 GitHub 常见词汇

在 README 里增加:

txt Repository = 仓库 Commit = 提交 Branch = 分支 Pull Request = 合并请求 Fork = 复刻 / 派生

3. 第 3 天:添加命令行笔记

新增一个文件:

txt command-line-basics.md

记录 lscdmkdirpwd 等命令。

4. 第 4 天:添加 Git 命令笔记

新增:

txt git-basics.md

记录:

bash git status git add . git commit -m "Update notes" git push

5. 第 5 天:整理目录结构

把笔记整理成:

txt github-learning-notes/ ├── README.md ├── notes/ │ ├── command-line-basics.md │ └── git-basics.md └── resources.md

6. 第 6 天:添加参考资料

新增 resources.md,记录 GitHub Docs、Git 官方文档、优秀开源项目链接。

7. 第 7 天:写一周总结

在 README 里补充:

txt 这一周我学会了什么? 还有哪些地方不懂? 下一步想做什么?

这样做比机械刷提交更有价值,因为你最后会得到一个真正能展示学习过程的项目。

十七、新手常用 Git 命令

如果你使用 VS Code,也可以通过图形界面完成很多操作。但理解下面这些命令很有帮助。

查看当前状态:

bash git status

把修改加入暂存区:

bash git add .

提交修改:

bash git commit -m "Update README"

推送到 GitHub:

bash git push

从 GitHub 拉取最新内容:

bash git pull

查看提交历史:

bash git log --oneline

新手可以先把这几个命令练熟,不需要一开始就背复杂命令。真正写项目时,你会自然遇到更多场景,比如切换分支、解决冲突、回退版本。

十八、新手最容易误解的地方

1. GitHub 登录不等于 commit 身份

登录 GitHub 主要解决的是远程仓库访问权限。commit 显示什么名字和邮箱,要看 Git 配置。

2. Fork 不等于下载

Fork 是复制到你的 GitHub 账号下;Clone 才是下载到你的电脑。

3. Commit 不等于 Push

Commit 是本地保存版本;Push 是上传到 GitHub。

4. Star 不等于 Fork

Star 是收藏;Fork 是复制项目副本。

5. Pull Request 不一定会被接受

PR 是请求原项目合并你的修改,但项目维护者可以接受、拒绝,也可以要求你继续修改。

6. GitHub 贡献图不等于真实能力

贡献图可以展示持续性,但不能完全代表工程能力。真正有价值的是项目质量、文档清晰度、代码可运行性和持续迭代记录。

十九、建议学习顺序

如果你是零基础,我建议这样学:

1. 先学会看懂仓库页面:README、Code、Issues、Pull Requests、Actions。 2. 再理解 Repository、Commit、Branch、Fork、Star、Watch。 3. 然后学会 git clonegit statusgit addgit commitgit push。 4. 接着做一个自己的学习笔记仓库,坚持一周真实提交。 5. 最后再学习 Pull Request、开源贡献、GitHub Actions。

不要一开始就追求复杂协作。先把自己的项目上传、修改、提交、展示跑通,比背概念更重要。

二十、总结

GitHub 对新手来说,最重要的不是一开始就掌握所有命令,而是先理解几个核心动作:

txt 创建仓库 → 修改文件 → 提交 commit → 推送 push → 展示项目

如果你还想参与别人的项目,就再理解:

txt Fork → 修改 → Commit → Pull Request

GitHub 本质上是一个记录作品、展示能力、参与开源、管理项目的平台。对于学习 AI 工具和网站开发的人来说,它不仅是代码仓库,也是你的长期作品集。

每天做一点真实改动,持续记录、持续提交、持续总结,比短时间堆很多复杂概念更重要。

参考来源

评论

Share

分享这篇文章