Fork vs Clone
Fork vs Clone
fork và clone đều tạo bản sao repo, nhưng bản sao nằm ở đâu và ai thực hiện thì khác hẳn.
Clone
Clone là lệnh Git tạo bản sao repo về máy local của bạn, kèm full lịch sử và một remote origin tự động.
git clone https://github.com/user/repo.git
Fork
Fork là thao tác của nền tảng (GitHub/GitLab) tạo bản sao repo trên tài khoản của bạn ở server. Bạn có quyền đẩy vào fork đó, dù không có quyền đẩy vào repo gốc.
Quy trình đóng góp điển hình: fork trên server → clone fork về máy → làm việc → push lên fork → mở Pull Request về repo gốc.
So sánh
| Tiêu chí | Clone | Fork |
|---|---|---|
| Bản sao nằm ở | Máy local | Tài khoản bạn trên server |
| Ai thực hiện | Git (lệnh) | Nền tảng (web) |
| Quyền ghi | Vào bản local | Vào fork trên server |
| Mục đích chính | Làm việc trên máy | Đóng góp khi không có quyền push gốc |
Cách nhớ nhanh
clone = photocopy mang về bàn mình (bản local). fork = đặt một bản sao có tên bạn lên kệ thư viện chung (bản server). Đóng góp open-source: fork lên kệ trước, rồi clone về bàn làm.