GitHub là gì và nó được sử dụng để làm gì?

GitHub là một trang web và dịch vụ mà chúng tôi thường xuyên nghe thấy những người đam mê công nghệ, nhưng rất nhiều người không thực sự hiểu nó hoạt động như thế nào. Bạn muốn biết tất cả những gì của hubbub trên GitHub? Đọc để tìm hiểu.

"Git" trong GitHub

LIÊN QUAN:Theo dõi phiên bản với Subversion (SVN) cho người mới bắt đầu

Để 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 điều khiển 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ì việc 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 Kiến thức cơ bản về Git có giải thích cặn kẽ về cách hoạt động của Git.

"Trung tâm" trong GitHub

Chúng tôi đã thiết lập rằng Git là một hệ thống kiểm soát phiên bản, tương tự nhưng tốt hơn nhiều lựa chọn thay thế hiện có. Vậy, điều gì làm cho GitHub trở nên đặc biệt? Git là một công cụ dòng lệnh, nhưng trung tâm mà tất cả những thứ liên quan đến Git đều xoay quanh là trung tâm — GitHub.com — nơi các nhà phát triển lưu trữ các dự án của họ và kết nối mạng với những người có cùng chí hướng.

Hãy cùng điểm qua một số lý do chính mà 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.

Kho

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.

Yêu cầu một 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ể chia nhỏ 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.

Yêu cầu kéo

Bạn đã chia nhỏ một kho lưu trữ, thực hiện một bản sửa đổi tuyệt vời 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.

Mạng xã hội

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, hiển thị 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, thời điểm và vị trí 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 tế 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 ý.

Bây giờ bạn đã biết tất cả về GitHub, bạn đã sẵn sàng bắt đầu chưa? Truy cập GitHub.com và nhớ xem các trang trợ giúp của họ sau khi đăng ký.