版本控制

複刻(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