定义
分叉(fork)指在既有项目或代码仓库的基础上复制出一份独立副本,从而可以自由修改、独立演进的开发实践。在 GitHub 等托管平台上,fork 专指对自己没有写权限的仓库创建的个人副本。
工作方式
执行 fork 后,平台会在你的账号下复制该仓库及其提交历史,此后两边互不影响。若希望改动回到原项目,通常从 fork 发起 pull request,由原仓库维护者审查、讨论后合并。
使用场景
常见的场景包括为开源项目贡献代码、基于他人项目衍生自己的版本,以及试验不确定是否要保留的改动而不污染原仓库。开源社区还用它描述更大规模的分裂:社区因方向或治理分歧,独立发展出新的衍生项目。
易混概念
分叉出的衍生项目在再分发时要遵守原项目的许可证,如 GPL 要求衍生作品以相同许可证授权;fork 与 GPL 因此常被一起提起。