Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

GitHub: Nền tảng kiểm soát phiên bản và cộng tác cho lập trình viên

GitHub là một nền tảng kiểm soát phiên bản (version-control) và cộng tác dựa trên web cho các nhà phát triển phần mềm. Microsoft – nhà đóng góp đơn lẻ lớn nhất cho GitHub – đã khởi động việc mua lại GitHub với giá 7,5 tỷ USD vào tháng 6 năm 2018. GitHub, được cung cấp qua mô hình kinh doanh phần mềm dưới dạng dịch vụ (SaaS), bắt đầu năm 2008 và được xây dựng trên Git – một hệ thống quản lý mã nguồn mở do Linus Torvalds tạo ra để làm cho quá trình build phần mềm nhanh hơn.

Git được dùng để lưu trữ mã nguồn cho một dự án và theo dõi lịch sử hoàn chỉnh của tất cả thay đổi đối với mã đó. Nó cho phép các nhà phát triển cộng tác trên một dự án hiệu quả hơn bằng cách cung cấp công cụ quản lý các thay đổi có thể xung đột từ nhiều nhà phát triển. GitHub cho phép các nhà phát triển thay đổi, điều chỉnh và cải tiến phần mềm từ các repository công khai miễn phí, nhưng thu phí cho repository riêng tư, cung cấp các gói trả phí khác nhau. Mỗi repository công khai hoặc riêng tư chứa tất cả file của một dự án, cũng như lịch sử sửa đổi của từng file. Repository có thể có nhiều cộng tác viên (collaborators) và có thể là công khai hoặc riêng tư.

GitHub thúc đẩy social coding (lập trình xã hội) bằng cách cung cấp giao diện web cho repository mã Git và công cụ quản lý cho cộng tác. GitHub có thể được coi như một trang web mạng xã hội nghiêm túc cho các nhà phát triển phần mềm. Thành viên có thể theo dõi nhau, đánh giá công việc của nhau, nhận cập nhật cho các dự án cụ thể và giao tiếp công khai hoặc riêng tư.

Ba thuật ngữ quan trọng được dùng bởi nhà phát triển trên GitHub là fork, pull request và merge. Một fork, còn gọi là branch (nhánh), đơn giản là một repository đã được sao chép từ tài khoản của thành viên này sang tài khoản của thành viên khác. Fork và branch cho phép nhà phát triển thực hiện sửa đổi mà không ảnh hưởng đến mã gốc. Nếu nhà phát triển muốn chia sẻ các sửa đổi, cô ấy có thể gửi một pull request đến chủ sở hữu của repository gốc. Nếu sau khi xem xét sửa đổi, chủ sở hữu gốc muốn kéo các sửa đổi vào repository, cô ấy có thể chấp nhận và merge (hợp nhất) chúng với repository gốc. Các commit (cam kết) mặc định đều được giữ lại và xen kẽ (interleaved) vào dự án master, hoặc có thể kết hợp thành một merge đơn giản hơn thông qua commit squashing.

Hướng dẫn GitHub Pages: Cách lưu trữ trang web cá nhân
GitHub: Nền tảng kiểm soát phiên bản và cộng tác cho lập trình viên

Vì GitHub rất trực quan để sử dụng và công cụ kiểm soát phiên bản của nó rất hữu ích cho cộng tác, những người không phải lập trình viên cũng bắt đầu sử dụng GitHub để làm việc trên các dự án dựa trên tài liệu và đa phương tiện. GitLab là một lựa chọn thay thế mã nguồn mở cho GitHub.

Sản phẩm và tính năng GitHub

GitHub cung cấp phiên bản on-premises (tự triển khai) ngoài sản phẩm SaaS nổi tiếng. GitHub Enterprise hỗ trợ môi trường phát triển tích hợp (IDE) và tích hợp công cụ continuous integration, cũng như hàng loạt ứng dụng và dịch vụ thứ ba. Nó cung cấp bảo mật và khả năng kiểm toán (auditability) cao hơn phiên bản SaaS.

Các sản phẩm và tính năng đáng chú ý khác bao gồm:

  • GitHub Gist cho phép người dùng GitHub chia sẻ các đoạn mã hoặc ghi chú khác.
  • GitHub Flow là quy trình làm việc (workflow) dựa trên nhánh (branch-based), nhẹ lượng, cho triển khai cập nhật thường xuyên.
  • GitHub Pages là các trang web tĩnh để lưu trữ dự án, kéo thông tin trực tiếp từ repository GitHub của cá nhân hoặc tổ chức.
  • GitHub Desktop cho phép người dùng truy cập GitHub từ desktop Windows hoặc Mac, thay vì vào trang web GitHub.
  • GitHub Student Developer Pack là gói công cụ phát triển miễn phí giới hạn cho sinh viên, bao gồm tài nguyên đám mây, công cụ lập trình, hỗ trợ và truy cập GitHub.