HocTotGit.io

Làm việc nhóm (Collaboration)
  • Thuật ngữ trong collaboration
  • Lý thuyết về remote repository
  • Cấu hình SSH
  • Sử dụng nhiều SSH keys cho nhiều tài khoản
  • Quiz
  • Git clone
  • Git push
  • Git fetch
  • Git pull
  • Quiz
  • Remote branches
  • Feature branch workflow
  • Fork repository và open source
  • Làm việc với nhiều remote repository
  • Quiz
  • Tại sao code review quan trọng?
  • Code review vs PRs vs Merge Request
  • Quiz
Liên kết
Blog
Hỗ trợ

Email: work.lamsun@gmail.com

Yêu thích nền tảng

Hãy chia sẻ ý kiến của bạn

HocTotGit.io

© 2026 HocTotGit.

Fork repository và open source

Trong cộng đồng open source, việc sử dụng các Git hosting services đặc biệt được chú trọng. Các dự án open source có thể tập hợp hàng ngàn cộng tác viên từ khắp nơi trên thế giới, vì vậy việc có một địa điểm trung tâm, dễ truy cập để lưu trữ dự án là ưu tiên hàng đầu.

Trong bối cảnh hiện nay, GitHub và GitLab là hai lựa chọn phổ biến nhất. Cả hai đều cho phép lập trình viên tạo và lưu trữ các Git repository công khai, giúp những người muốn đóng góp dễ dàng tìm thấy dự án thông qua website của họ.

Cả hai cũng cung cấp các chức năng bổ sung như issue tracking, phân quyền, code review, pull requests, và diễn đàn thảo luận để kết nối các cộng tác viên từ khắp nơi.


1. Fork là gì?

Forks là các bản sao của một Git repository được tạo ra bởi Git hosting service. Nếu bạn thấy việc forking nghe rất giống với cloning, thì bạn đúng rồi đấy. Các forked repository hay thao tác forking thực chất không phải là lệnh mới, mà đằng sau đó (behind-the-scenes), chúng được tạo ra bằng chính lệnh git clone.


2. Tại sao lại cần Fork?

Forking thường được dùng cho các dự án open source để đơn giản hóa việc tiếp nhận đóng góp. Các quản trị viên thường khóa repository gốc và chỉ cho phép một nhóm người được quyền sửa đổi trực tiếp repository.

Vì các cộng tác viên mới không thể sửa đổi trực tiếp repository gốc, họ sẽ tạo một fork thay thế. Sau khi fork, cộng tác viên thực hiện thay đổi trên bản fork của riêng họ và gửi một pull request để yêu cầu tích hợp các thay đổi vào repository gốc. Các quản trị viên của repository gốc hoặc các bot tự động sẽ review pull request, đưa ra feedback và tự tay tích hợp các đóng góp mới đó.

Fork Workflow
Ảnh minh họa: Forking Workflow

3. Quy trình Forking

  1. Tạo một fork: Thay vì clone và push thay đổi trực tiếp vào một repository (điều bạn không có quyền làm), bạn yêu cầu Git hosting service tạo một bản sao phía máy chủ (server-side clone), gọi là một fork.

  2. Clone fork: Sau khi fork xong, bạn tiến hành clone một bản sao của fork đó về máy tính của bạn.

  3. Thực hiện thay đổi: Các commit và branch mới sẽ được tạo ra tại local. Sau đó, chúng được push lên bản fork lưu trên Git hosting service.

  4. Tạo pull request: Sử dụng Git hosting service để mở một pull request. Hành động này sẽ thông báo cho các quản trị viên của repository gốc biết để review các đóng góp mới. Nếu được chấp thuận (approved), các đóng góp này sẽ được merge vào repository gốc.


4. Tạo Fork như thế nào?

Bản thân các forked repository và thao tác forking không phải là các lệnh của Git. Khi bạn yêu cầu Git hosting service tạo một fork, dịch vụ đó (ví dụ: GitHub, GitLab...) sẽ âm thầm sử dụng git clone để tạo một bản sao của repository cùng lịch sử của nó trên server. Sau khi fork, bạn có thể clone bản sao này về máy.

Dưới đây là hướng dẫn fork cho từng dịch vụ hosting:

  • Hướng dẫn tạo fork trên GitHub

  • Hướng dẫn tạo fork trên GitLab

Tiếp theo: Làm việc với nhiều remote repository