版本控制

复刻(fork)

复刻(fork)是你为别人的仓库(repository)做的一份完整副本,在托管平台上(GitHub、GitLab)一键完成。它挂在你自己的账号下,所以你想怎么改就怎么改,完全不用经过原作者同意。

开源协作就是这么运转的:你把一个自己没有写入权限的项目复刻过来,把改动推到你这份副本里,再发起一个拉取请求(pull request),请原项目的维护者把你的成果合并回去。他们会审查;觉得不错,它就成了真正项目的一部分。

别把 fork 和克隆(clone)或分支(branch)搞混。分支是同一个仓库里的一条工作线;克隆是拉到你自己电脑上的副本;而 fork 是服务器上一个独立的仓库,署着你的名字——是你向一个不属于你的项目提建议的「发射台」。

$ gh repo fork octocat/Hello-World --clone
✓ Created fork yourname/Hello-World
✓ Cloned fork to ./Hello-World

把仓库复刻到你的账号并克隆到本地——一条命令,之后你就能随意修改了。

这个词比 GitHub 老得多:在 Unix 里,fork 一个进程指的是分裂出一个独立运行的新副本。其实是同一个意思——一个东西变成两条各自独立的线。

又称
fork a repoforkingserver-side copy