GitHub là một trang web và dịch vụ mà dân công nghệ thường xuyên nghe thấy, tuy nhiên rất nhiều người không thực sự hiểu nó làm gì. Hãy cùng Followeek khám phá Github là gì và vai trò của nó ra sao đối với công nghệ qua bài viết này.
“Git” trong từ GitHub
Để hiểu GitHub, trước tiên bạn phải hiểu về Git. Git là một hệ thống điều khiển phiên bản mã nguồn mở được bắt đầu bởi Linus Torvalds – người đã tạo ra Linux. Git tương tự như các hệ thống kiểm soát phiên bản khác — Subversion, CVS và Mercurial để đặt tên cho một số.
Vì vậy, Git là một hệ thống kiểm soát phiên bản, nhưng điều đó có nghĩa là gì? Khi các nhà phát triển tạo ra thứ gì đó (ví dụ: một ứng dụng), họ thực hiện các thay đổi liên tục đối với mã, phát hành các phiên bản mới trước và sau bản phát hành chính thức (không phải beta) đầu tiên.
Hệ thống kiểm soát phiên bản giữ cho các bản sửa đổi này thẳng, lưu trữ các sửa đổi trong một kho lưu trữ trung tâm. Điều này cho phép các nhà phát triển dễ dàng cộng tác, vì họ có thể tải xuống phiên bản mới của phần mềm, thực hiện các thay đổi và tải lên bản sửa đổi mới nhất. Mọi nhà phát triển đều có thể thấy những thay đổi mới này, tải xuống và đóng góp.
Tương tự như vậy, những người không liên quan gì đến việc phát triển một dự án vẫn có thể tải xuống các tệp và sử dụng chúng. Hầu hết người dùng Linux nên quen thuộc với quy trình này, vì sử dụng Git, Subversion hoặc một số phương pháp tương tự khác là khá phổ biến để tải xuống các tệp cần thiết — đặc biệt là để chuẩn bị biên dịch một chương trình từ mã nguồn (một thực tế khá phổ biến đối với những người yêu thích Linux).
Git là hệ thống kiểm soát phiên bản ưa thích của hầu hết các nhà phát triển, vì nó có nhiều ưu điểm hơn các hệ thống khác có sẵn. Nó lưu trữ các thay đổi của tệp hiệu quả hơn và đảm bảo tính toàn vẹn của tệp tốt hơn. Nếu bạn muốn biết chi tiết, trang Git Basics có giải thích cặn kẽ về cách hoạt động của Git.
“Hub” trong từ GitHub
Hãy cùng điểm qua một vài lý do chính mà những người yêu thích sử dụng GitHub và tìm hiểu một số thuật ngữ trong quá trình thực hiện.
Repository
Kho lưu trữ (thường được viết tắt là “repo”) là nơi lưu trữ tất cả các tệp cho một dự án cụ thể. Mỗi dự án có repo riêng và bạn có thể truy cập nó bằng một URL duy nhất.
Forking a Repo
“Forking” là khi bạn tạo một dự án mới dựa trên một dự án khác đã tồn tại. Đây là một tính năng tuyệt vời khuyến khích rất nhiều sự phát triển của các chương trình và dự án khác. Nếu bạn tìm thấy một dự án trên GitHub mà bạn muốn đóng góp, bạn có thể fork repo, thực hiện các thay đổi bạn muốn và phát hành dự án đã sửa đổi dưới dạng repo mới. Nếu kho lưu trữ ban đầu mà bạn đã phân nhánh để tạo dự án mới của mình được cập nhật, bạn có thể dễ dàng thêm các bản cập nhật đó vào lần phân nhánh hiện tại của mình.
Pull Requests
Bạn đã tách một kho lưu trữ, thực hiện một bản sửa đổi lớn cho dự án và muốn nó được các nhà phát triển ban đầu công nhận — thậm chí có thể được đưa vào dự án / kho lưu trữ chính thức. Bạn có thể làm như vậy bằng cách tạo một yêu cầu kéo. Các tác giả của kho lưu trữ gốc có thể xem tác phẩm của bạn, và sau đó chọn có chấp nhận nó vào dự án chính thức hay không. Bất cứ khi nào bạn đưa ra một yêu cầu kéo, GitHub cung cấp một phương tiện hoàn hảo để bạn và người bảo trì của dự án chính giao tiếp.
Social networking
Khía cạnh mạng xã hội của GitHub có lẽ là tính năng mạnh mẽ nhất của nó, cho phép các dự án phát triển hơn bất kỳ tính năng nào khác được cung cấp. Mỗi người dùng trên GitHub có hồ sơ riêng của họ hoạt động giống như một bản sơ yếu lý lịch, thể hiện công việc trong quá khứ và những đóng góp của bạn cho các dự án khác thông qua các yêu cầu kéo.
Việc sửa đổi dự án có thể được thảo luận công khai, do đó, nhiều chuyên gia có thể đóng góp kiến thức và cộng tác để thúc đẩy dự án về phía trước. Trước khi GitHub ra đời, các nhà phát triển quan tâm đến việc đóng góp cho một dự án thường sẽ cần tìm một số phương tiện liên hệ với tác giả — có thể là qua email — và sau đó thuyết phục họ rằng họ có thể đáng tin cậy và đóng góp của họ là hợp pháp.
Changelogs
Khi nhiều người cộng tác trong một dự án, thật khó để theo dõi các bản sửa đổi — ai đã thay đổi nội dung nào, khi nào và nơi lưu trữ các tệp đó. GitHub xử lý vấn đề này bằng cách theo dõi tất cả các thay đổi đã được đẩy vào kho lưu trữ.
GitHub không chỉ dành cho nhà phát triển
Tất cả những điều này nói về cách GitHub lý tưởng cho các lập trình viên có thể khiến bạn tin rằng họ là những người duy nhất thấy nó hữu ích. Mặc dù nó ít phổ biến hơn nhiều, nhưng bạn thực sự có thể sử dụng GitHub cho bất kỳ loại tệp nào. Ví dụ: nếu bạn có một nhóm liên tục thực hiện các thay đổi đối với tài liệu word, bạn có thể sử dụng GitHub làm hệ thống kiểm soát phiên bản của mình. Thực hành này không phổ biến, vì có nhiều lựa chọn thay thế tốt hơn trong hầu hết các trường hợp, nhưng đó là điều cần lưu ý.
Followeek đã mang tới đáp án cho câu hỏi của bạn chưa? Hãy để chúng tôi biết thêm cảm nhận của bạn ở dưới phần comment nhé!