返回术语

工程与协作

复刻Fork

你可能会问

复刻到底是什么?和分支有什么区别?

简单来说

把别人的仓库完整复制到自己名下自由修改,再通过 PR 把改进送回上游。

动态说明复制一份到自己名下,再把改进送回去Fork
别人的仓库,你的想法
开源协作,从复制一份开始
分支开在同一个仓库里,前提是你有写权限。Fork 把别人的仓库完整复制到你的账号下:没有权限也能自由修改,改好了再通过 PR 提回上游,合不合由维护者决定。

01 · 先这样理解

把抽象概念放进真实场景

把别人的仓库完整复制到自己名下自由修改,再通过 PR 把改进送回上游。

换个角度想

Fork 像把公开的乐谱复印一份带回家:音乐厅里的原谱一个音符都动不得,但复印件上你想怎么改编都行。改编得出彩,再寄回给原作者——收不收进正谱,由他们定。

02 · 点击演示

别人的仓库你没有写权限,想改怎么办?

突出显示的部分,就是当前概念在整条流程中负责的位置。

  1. 这一步不存在——
    push 被拒绝:你没有原仓库的写权限

    点下 Fork

    整个仓库连同历史,复制到你的账号下

    当前步骤
  2. 原仓库 · 别人的地盘

    修复只能提 issue 描述 bug

    等作者有空 · 遥遥无期

    你的副本 · 你做主

    fix-date开分支放手改,不用问任何人

    原仓库毫不知情 · 不受影响

    等待进入
  3. 几周过去

    bug 还在,每次用都得绕着走

    上游又前进了 20 个提交

    同步进你的副本,改动不掉队

    等待进入
  4. 只能干等修复看不到日期,热情使不上劲没有权限,想帮忙也没有入口
    改进回到上游向原仓库发起 PR,评审通过后合入下个版本,所有人都用上你的修复
    等待进入
1 / 4

Fork · 把整个仓库复制到自己名下

03 · 放进真实任务

什么时候会遇到它

给开源项目修 bug

没有写权限也能贡献:Fork、修好、提 PR,开源协作的标准路径。

二次开发

把开源模板 Fork 成自己的版本,长期按自己的方向演化。

随便折腾的沙盒

想怎么试就怎么试,原仓库永远不受影响。

04 · 想一想

用一个问题检查理解

你常用的开源组件库有个按钮 bug,作者三个月没上线了。你等不了,怎么办?

查看答案

Fork 一份到自己名下修好,先让项目依赖指向你的副本顶上,同时向原仓库提 PR。作者回来合并后,再把依赖切回官方版本——既不被别人的节奏卡住,改进也回馈了社区。

老师提醒

最容易踩的坑

Fork 完别一去不回。上游一直在前进,副本越久不同步,和上游的差距越大,最后 PR 都对不上——常同步、早提 PR。

⌘K搜索知识库

最近收录

正在载入知识索引…