GitHub 代码托管平台

GitHub

程序员放代码的地方:既存下每一次改动,又能让别人帮你审查、提意见再合并。

开发与运维出现时间 · 2008个人公开仓库与基础协作免费;团队与企业版按用户每月计费,含更细的权限与审计。代码托管Git开源协作
看官方文档

01 它是干嘛的

GitHub 是全世界程序员存放与协作代码的平台。它建立在 Git 这个版本控制工具之上,把「代码的历史」和「多人协作的流程」变成网页上可看、可评论、可合并的操作,也是当今开源生态的中心。

02 为什么会有它

先说清楚:Git 是工具,GitHub 是放工具成果的场地

写代码最大的痛点是「改动无法回退」和「多人改同一份文件会打架」。在 Git 出现之前,大家靠「复制一份文件夹,改坏了再复制回来」来保命,文件名于是变成 project、project_旧、project_最终、project_真的最终,谁也说不清哪份能用。

2005 年,Linux 内核的作者写了 Git:一个装在你电脑上的工具,它记录每一次改动,让你能随时回退、开一条分支去试验而不影响主线。但 Git 只在本地运行,它不管你代码放在哪里,也不管怎么和别人共享,这是「工具」的部分。

2008 年出现的 GitHub 是「场地」:把用 Git 管理的代码放到网上,配上网页界面,让全世界都能看到、下载、提意见。它最有影响的发明是「拉取请求」(Pull Request):你想改别人的代码,不是硬塞进去,而是先提一个「请你看看我这版改动」的申请,对方可以逐行评论、来回讨论,觉得没问题才合并。这套「先讨论、后合并」的流程,后来成了全球软件开发协作的标准动作。

03 它怎么工作

开发者先把仓库复制一份到自己账号下(或拉一条分支),改完推上去,再发一个拉取请求请求合并;原仓库维护者审查后决定是否接受。

CI/CD 流水线:提交代码之后自动发生的事构建通过就测测试全绿才产出出问题马上退提交代码push 到仓库构建装依赖、编译、打包自动测试单元测试、类型检查产物镜像 / 静态包(不可变)部署推到测试/生产环境线上生效用户可访问新版本一键回滚切回上一个产物核心纪律:构建与发布分离。构建失败绝不允许影响线上。不可变产物应急预案
这张图重点看「分支到提交到评审到合并」这条主线,以及合并之后触发的自动化:很多项目在合并时会自动跑测试与构建,这就是代码协作与流水线的衔接点。

一次改动从提出到合并进主线

  1. 1
    ① 复制或拉取代码

    把仓库复制到自己账号下,或在原仓库拉一条独立分支,改动不影响主线。

  2. 2
    ② 在本地修改并提交

    在自己的电脑上改代码,每次提交都留下一条带说明的改动记录。

  3. 3
    ③ 推送到 GitHub

    把本地提交上传到自己账号下的仓库,此时还没影响原项目。

  4. 4
    ④ 发起拉取请求

    向原仓库提交一个合并申请,说明改了什么、为什么改,等待对方审阅。

  5. 5
    ⑤ 评审、讨论与合并

    维护者逐行评论,必要时要求补充修改;确认无误后合并进主线,改动正式生效。

04 谁在用它

个人项目与作品集

把自己的项目放上去,既是备份,也是一份能给别人看的作品与技术履历。

团队协作开发

多人通过分支与拉取请求协作,每个人的改动都要经过审查才进入主线。

参与开源社区

给别人的开源项目提改动、报问题,被合并后即成为公开的贡献记录。

开源项目维护

项目被全球开发者使用与改进,维护者通过评审把控代码质量与方向。

自动化与发布

代码提交后自动跑测试、构建与部署,配上发布流程实现持续交付。

05 怎么用

会一点命令行与 Git 基本操作即可,只用网页也能完成大部分协作。

  1. 01注册账号,在首页新建一个仓库(Repository),选择公开或私有。
  2. 02在本地安装 Git,把仓库复制到电脑上。
  3. 03修改代码后提交(记录改动),再推送回 GitHub。
  4. 04需要多人协作时,拉一条分支开发,不直接改主线。
  5. 05完成后在网页上发起拉取请求,写清改动内容,请同事评审。
  6. 06评审通过后点击合并,改动进入主线;必要时再触发自动测试与发布。
把本地改动推送到 GitHubbash
# 配置身份(首次使用)
git config --global user.name "你的名字"
git config --global user.email "you@example.com"

# 复制仓库到本地
git clone https://github.com/你的账号/你的仓库.git
cd 你的仓库

# 新建分支开发,不直接改主线
git checkout -b feature/login

# 修改文件后,记录并推送改动
git add .
git commit -m "新增登录页面"
git push origin feature/login

避坑提示

  • !千万不要把密码、密钥等敏感信息提交进仓库,一旦推上去,历史记录里也会一直留着。
  • !改动尽量小而聚焦,一个拉取请求只做一件事,评审更快也更不容易出错。
  • !写清提交说明(改了什么、为什么),过几个月回头还能看懂自己当初在干什么。

06 关键概念

仓库(Repository)
一个项目在 GitHub 上的存放处,包含全部代码与每一次改动的历史。
分支(Branch)
从主线分出来的一条独立开发线,改坏了也不影响主线。
拉取请求(Pull Request)
「请你看看我这版改动并考虑合并」的申请,可以逐行讨论。
开源
把代码公开、允许他人查看与使用甚至改进,很多基础软件就是这么诞生的。

07 容易混淆的对比

GitLab同类代码托管与协作平台,支持自建部署,企业内网场景常用。
Bitbucket与 Atlassian 项目管理工具集成紧密,适合已在用其生态的团队。
图软件图鉴

纯静态站点,无后端、无追踪。内容为中文原创撰写,用于帮助非技术读者理解主流软件产品。

关于本站

全部内容在构建时生成
产品名称与商标归各自公司所有

© 2026 软件图鉴Nuxt 4 · Vue 3 · Tailwind 4 · 纯静态