Một fork là một bản sao thô của một kho lưu trữ. Tạo kho lưu trữ như vậy cho phép bạn tự do kiểm tra và gỡ lỗi với các thay đổi mà không ảnh hưởng đến dự án ban đầu. Một trong những cách sử dụng nhiều forking là đề xuất các thay đổi để sửa lỗi. Để giải quyết sự cố cho một lỗi mà bạn đã tìm thấy, bạn có thể:

  • Fork kho lưu trữ đó.
  • Thực hiện sửa chữa.
  • Chuyển tiếp một PR tới chủ dự án.

Forking không phải là một chức năng Git, nó là một tính năng của dịch vụ Git như GitHub.

Khi nào sử dụng Git Fork

Nói chung, việc tạo kho lưu trữ cho phép chúng ta thử nghiệm trên dự án mà không ảnh hưởng đến dự án ban đầu. Sau đây là những lý do tạo nên kho lưu trữ:

  • Đề xuất các thay đổi đối với dự án của người khác.
  • Sử dụng một dự án hiện có làm điểm khởi đầu.

Chúng ta sẽ tìm hiểu làm thế nào để phân nhánh một kho lưu trữ trên GitHub?

1. Làm thế nào để Fork một kho lưu trữ?

Phân nhánh với fork và phân nhánh kiểu tạo branch mới là những cách tuyệt vời để đóng góp vào một dự án mã nguồn mở. Hai tính năng này của Git cho phép tăng cường cộng tác trong các dự án.

Forking là một cách an toàn để đóng góp. Nó cho phép chúng ta tạo một bản sao thô của dự án. Chúng ta có thể tự do thử nghiệm trên dự án. Sau phiên bản cuối cùng của dự án, chúng ta có thể tạo một yêu cầu kéo(PR) để hợp nhất.

Đó là một quá trình thẳng. Các bước để tạo kho lưu trữ như sau:

  • Đăng nhập vào tài khoản GitHub.
  • Tìm kho lưu trữ GitHub mà bạn muốn phân tách.
  • Nhấp vào nút Fork ở phía trên bên phải của trang của kho lưu trữ.

Chúng ta không thể phân nhánh kho lưu trữ của riêng mình. Chỉ các kho lưu trữ được chia sẻ mới có thể được fork. Nếu ai đó muốn tách kho, thì người đó phải đăng nhập bằng tài khoản của mình. Cùng hiểu tình huống dưới đây với dự án git_sample của chúng ta . Khi anh ta tìm kiếm hoặc đặt địa chỉ của kho lưu trữ của chúng ta, kho lưu trữ của chúng ta sẽ giống như sau:

Hình ảnh trên cho thấy giao diện người dùng của kho lưu trữ của tôi từ những người đóng góp khác. Chúng ta có thể thấy tùy chọn fork ở góc trên cùng bên phải của trang kho. Bằng cách nhấp vào đó, quá trình fork sẽ bắt đầu. Sẽ mất một lúc để tạo bản sao của dự án cho những người dùng khác. Sau khi quá trình phân nhánh hoàn tất, một bản sao của kho lưu trữ sẽ được sao chép vào tài khoản GitHub của bạn. Nó sẽ không ảnh hưởng đến kho lưu trữ ban đầu. Chúng ta có thể tự do thực hiện các thay đổi và sau đó tạo một pull request cho dự án chính. Chủ sở hữu của dự án sẽ xem đề xuất của bạn và quyết định xem anh ta có muốn hợp nhất các thay đổi hay không.

Như bạn có thể thấy, kho lưu trữ được phân nhánh trông giống như cafedevn / git_sample. Ở dưới cùng của tên kho, chúng ta có thể thấy mô tả về kho. Ở góc trên cùng bên phải, phuộc tùy chọn fork được tăng thêm 1 số.

Do đó, người ta có thể tách kho từ GitHub.

2. Fork vs. Clone

Đôi khi mọi người coi fork như lệnh clone tài sản của họ. Cả hai lệnh đều được sử dụng để tạo một bản sao khác của kho lưu trữ. Nhưng sự khác biệt đáng kể là fork được sử dụng để tạo bản sao phía máy chủ và clone được sử dụng để tạo bản sao cục bộ của kho lưu trữ.

Không có lệnh cụ thể nào để phân nhánh kho lưu trữ; thay vào đó, nó là một dịch vụ được cung cấp bởi dịch vụ Git của bên thứ ba như GitHub. So sánh, git clone là một tiện ích dòng lệnh được sử dụng để tạo bản sao cục bộ của dự án.

Nói chung, những người làm việc trong cùng một dự án sẽ sao chép kho lưu trữ và những người đóng góp bên ngoài phân nhánh(fork) kho lưu trữ.

Một PR có thể hợp nhất các thay đổi được thực hiện trên kho lưu trữ fork. Chúng ta có thể tạo một PR để đề xuất các thay đổi đối với dự án. Tương tự, các thay đổi được thực hiện trên kho lưu trữ nhân bản có thể được hợp nhất bằng cách push. Chúng ta có thể đẩy các thay đổi vào kho lưu trữ từ xa của mình.

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!