Không chỉ đóng vai trò là một hệ thống quản lý dự án và phiên bản code, GitHub giờ đây còn giống như một mạng xã hội cho các lập trình viên. Để hiểu hơn về GitHub, mời các bạn đọc bài viết dưới đây của Quản Trị Mạng.
GitHub là gì?
Nói một cách ngắn gọn, GitHub là một dịch vụ nổi tiếng cung cấp kho lưu trữ mã nguồn Git cho các dự án phần mềm. GitHub cung cấp đầy đủ các tính năng của Git và còn bổ sung thêm các tính năng về mặt xã hội để các lập trình viên, nhà phát triển (developer - Dev) tương tác với nhau.
Nếu bạn chưa biết thì GIT:
- Là công cụ giúp quản lý source code tổ chức theo dạng dữ liệu phân tán.
- Giúp đồng bộ source code của team lên 1 server.
- Hỗ trợ các thao tác kiểm tra source code trong quá trình làm việc (diff, check modifications, show history, merge source, …)
GitHub có 2 phiên bản: miễn phí và trả phí. Phiên bản trả phí thường được các doanh nghiệp sử dụng để tăng cường khả năng quản lý team cũng như có thêm các cách phân quyền quản lý dự án. Trong khi đó, đa số người dùng sử dụng tài khoản GitHub miễn phí để lưu trữ source code.
Theo thời gian, GitHub giờ đây còn cung cấp cả các tính năng mạng xã hội (social networking) như feeds, followers và network graph để các dev học hỏi kinh nghiệm lẫn nhau thông qua lịch sử commit.
Trên GitHub, commit message là phần mô tả hành động mà bạn thực hiện trên source code của mình. Nó giống như cách mà một comment được dùng để mô tả và giải thích một đoạn code.
Hiện tại, GitHub đang là một yếu tố có sức ảnh hưởng lớn trong cộng đồng nguồn mở. GitHub cùng với LinkedIn có thể được coi là một sự thay thế cho CV của bạn. Các nhà tuyển dụng ngày càng có xu hướng tham khảo tài khoản GitHub để tìm hiểu về năng lực code của ứng viên.
Chính vì thế, kỹ năng sử dụng Git và GitHub đã chuyển từ sở thích sang bắt buộc phải có với các ứng viên xin việc vị trí lập trình viên và dev...
Một số khái niệm của GitHub mà bạn cần biết
- git: Là prefix của các lệnh được sử dụng dưới CLI.
- branch: Được hiểu như là nhánh, thể hiện sự phân chia các version khi 2 version đó có sự sai khác nhất định và 2 version đều có sự khác nhau.
- commit: Là một điểm trên cây công việc (Work Tree) hay gọi là cây phát triển công việc.
- clone: Được gọi là nhân bản, hay thực hiện nhân bản. Sử dụng để clone các project, repository trên các hệ thống chạy trên cơ sở là git, ví dụ như: bitbucket, github, gitlab, cor (1 sản phẩm mã nguồn mở cho phép người dùng tự tạo git server cho riêng mình trên vps, server),… Việc clone này sẽ sao chép repository tại commit mình mong muốn, dùng để tiếp tục phát triển. Thao tác này sẽ tải toàn bộ mã nguồn, dữ liệu về máy tính của bạn.
- folk: Folk là thao tác thực hiện sao chép repository của chủ sở hữu khác về git account của mình. sử dụng và đối xử như 1 repository do mình tạo ra.
- repository: Kho quản lý dữ liệu, là nơi lưu trữ các dữ liệu, mã nguồn của project.
- tag: sử dụng để đánh dấu một commit khi bạn có quá nhiều commit tới mức không thể kiểm soát được.
- remote: sử dụng để điều khiển các nhánh từ một repository trên git server, đối xử với các nhánh trên remote tương tự như đối xử với các nhánh trên local
- diff: So sánh sự sai khác giữa phiên bản hiện tại với phiên bản muốn so sánh, nó sẽ thể hiện các sự khác nhau.
- gitignore: File mặc định của git sử dụng để loại bỏ (ignore) các thư mục, file mà mình không muốn push lên git server.
Lịch sử của GitHub
Tác giả của GitHub là Tom Preston-Werner, Chris Wanstrath, và PJ Hyett. Ba người này đã viết GitHub bằng Ruby on Rails và Erlang. Trang web GitHub được giới thiệu và chính thức đi vào hoạt động vào tháng 4/2008.
Cho tới nay, GitHub đã trở thành một phần không thể thiếu đối với cộng đồng phát triển mã nguồn mở và cộng đồng lập trình viên trên toàn thế giới.
Lợi ích của GitHub với lập trình viên
Với các lập trình viên và nhà phát triển, GitHub mang lại các lợi ích sau:
- Dễ dàng quản lý source code
- Dễ dàng theo dõi sự thay đổi qua các version
- Xây dựng thương hiệu cá nhân, chứng tỏ năng lực của bản thân
- Cải thiện kỹ năng code và theo dõi bug
- GitHub là một kho tài nguyên tuyệt vời, vô hạn
- Mở rộng mối quan hệ, gặp gỡ các nhà phát triển trên toàn thế giới, dễ dàng chia sẻ kinh nghiệm của bản thân
Trên đây là bài viết giải thích GitHub là gì. Hy vọng rằng bài viết sẽ giúp ích cho bạn.