Khái niệm, định nghĩa GitHub là gì?

Khái niệm

GitHub là một dịch vụ cung cấp kho lưu trữ mã nguồn Git dựa trên nền web cho các dự án phát triển phần mềm. GitHub cung cấp cả phiên bản trả tiền lẫn miễn phí cho các tài khoản. Các dự án mã nguồn mở sẽ được cung cấp kho lưu trữ miễn phí. Tính đến tháng 4 năm 2016, GitHub có hơn 14 triệu người sử dụng với hơn 35 triệu kho mã nguồn, làm cho nó trở thành máy chủ chứa mã nguồn lớn trên thế giới.

Github đã trở thành một yếu có sức ảnh hưởng trong cộng đồng phát triển mã nguồn mở. Thậm chí nhiều nhà phát triển đã bắt đầu xem nó là một sự thay thế cho sơ yếu lý lịch và một số nhà tuyển dụng yêu cầu các ứng viên cung cấp một liên kết đến tài khoản Github để đánh giá ứng viên.

Linh vật của Github là chú mèo Octocat.

Lợi ích của GitHub với Developer?

Có 3 lợi ích chính mà GitHub đã và đang mang lại cho sự nghiệp của tôi.

1. GitHub chứng minh rằng tôi là 1 developer thực thụ

Khi Chris Harvey tìm kiếm một Ruby on Rails Developer cho ITviec, Chris bảo rằng ông nhận được hàng chục hồ sơ nói: “Tôi biết Ruby on Rails,” nhưng CV của tôi là CV duy nhất cung cấp một tài khoản GitHub link đến các project Ruby on Rails. Nếu tôi đã không cho tài khoản GitHub của mình vào CV, thì có lẽ tôi đã không thể ngồi đây và viết bài viết này.

Một sự thật mà nhiều nhà tuyển dụng từng tiết lộ cho ITviec là họ đánh giá cao những CV có ghi tài khoản GitHub, vì nhìn thấy sample code là cách hiệu quả để phân biệt developer giỏi và “faker.”

Managing Director của một công ty Outsourcing, đồng thời là khách hàng của ITviec từng nói rằng:

Nhìn vào lịch sử hoạt động của 1 tài khoản GitHub cho bạn biết nhiều điều: thời gian bắt đầu, các project từng tham gia… Một developer nhiều kinh nghiệm sẽ có nhiều Hit Hub repositories đa dạng và tham gia vào nhiều technology patterns.

Tôi thường chú ý đến những đoạn code chất lượng với documentation tốt. Đặc biệt, tôi quan tâm nhiều về việc developer tương tác với các contributor khác trên GitHub. Điều này cho thấy họ muốn cải thiện code của mình và muốn cống hiến cho các open resource khác.

Tôi thật sự khuyên mọi developer đều nên đầu tư một tài khoản GitHub chất lượng và ghi vào CV của mình. Vì nó tăng cơ hội việc làm cho developer.

2. GitHub giúp tôi cải thiện coding skill

GitHub tạo 1 môi trường khuyến khích tôi cải thiện coding skill bằng cách theo dõi và so sánh những thay đổi thường xuyên.

Trong cộng đồng hàng trăm nghìn contributor của GitHub, khi tương tác với họ, tôi dễ dàng học được hàng tấn kinh nghiệm để cải thiện code của mình trong vòng 30 phút thay vì phải bỏ ra nhiều giờ tìm kiếm thông tin trên internet.

3 contributors mà tôi ngưỡng mộ: Aaron Windsor, Paolo Fragomeni, Gib Reimschüssel.

3. GitHub giúp tôi học hỏi nhiều kỹ năng mới

GitHub có 1 kho tài liệu tuyệt vời giúp tôi học hỏi nhiều kỹ năng mới. Phần “help” và “guides” có nhiều bài viết về hầu như tất cả chủ đề liên quan đến git mà mọi người có thể nghĩ đến. Để lên trình code, tôi đọc open source trên git (repositories), và phần “explore” là phần dẫn đến những open source nổi tiếng.

Bạn cần biết cách tạo ra SSH key? GitHub có một bài viết.

Bạn tự hỏi về quy trình làm việc của 1 git tốt? GitHub có một hướng dẫn.

Nếu bạn đang tìm kiếm 1 gitignore mẫu cho dự án tiếp theo, GitHub có nhiều ví dụ cho hầu như mọi điều mà bạn có thể nghĩ đến.

Nếu bạn muốn đống góp vào cộng đồng outsource (như xây dựng một gem trong ruby, một plugin trong java hay viết một module javascript…), bạn có thể thoải mái fork một project của một team nào đó, rồi tạo pull request hoặc issues nếu như tìm được lỗi, cần support, hoặc là tạo project của riêng mình và chia sẻ với mọi người.

Github

Sự phát triển của nền tảng GitHub bắt đầu vào ngày 19 tháng 10 năm 2007. Trang web được đưa ra vào tháng 4 năm 2008 do Tom Preston-Werner, Chris Wanstrath, và PJ Hyett thực hiện sau khi nó đã được hoàn thành một vài tháng trước đó, xem như giai đoạn beta.

Dự án trên Github có thể được truy cập và thao tác sử dụng một giao diện dòng lệnh và làm việc với tất cả các lệnh Git tiêu chuẩn. Github cũng cho phép người dùng đăng ký và không đăng ký để duyệt kho công cộng trên trang web. Github cũng tạo ra nhiều client và plugin cho máy tính để bàn.

Trang web cung cấp các chức năng mạng xã hội như feed, theo dõi, wiki (sử dụng phần mềm Gollum Wiki) và đồ thị mạng xã hội để hiển thị cách các nhà phát triển làm việc trên kho lưu trữ.

Một người sử dụng phải tạo ra một tài khoản cá nhân để đóng góp nội dung lên Github, nhưng các kho mã nguồn công cộng có thể được duyệt và tải về với bất cứ ai. Với một người dùng đã đăng ký tài khoản, họ có thể thảo luận, quản lý, tạo ra các kho, đóng góp cho kho của người dùng khác, và xem xét thay đổi mã.

GitHub cũng có một dịch vụ khác: một trang web kiểu pastebin gọi là Gist , dùng để lưu trữ các đoạn mã; trong khi Github sẽ được cho lưu trữ các dự án lớn hơn. Một dịch vụ lưu trữ khác được gọi là Speaker Deck.

Các phần mềm chạy GitHub được viết bằng Ruby on Rails và Erlang bởi GitHub, Inc, phát triển Chris Wanstrath, PJ Hyett, và Tom Preston-Werner.

Hệ thống kiểm soát phiên bản (VCS) – ghi lại thay đổi vào một tập tin hoặc thiết lập các tập tin theo thời gian để có thể nhớ lại các phiên bản cụ thể sau.

Phạm vi

Bản đồ mô phỏng số lượng người dùng Internet và Github.

GitHub chủ yếu được sử dụng để lưu trữ mã nguồn phần mềm, nhưng cũng thường được sử dụng với nhiều loại tập tin như Final Cut hoặc các tài liệu Word.

Ngoài mã nguồn, Github hỗ trợ các định dạng và các tính năng sau đây:

  • 3D làm cho các tập tin mà có thể được xem trước bằng cách sử dụng tích hợp trình xem file STL mới hiển thị các tập tin trên một khung 3D.[11] Người xem được hỗ trợ bởi WebGL và Three.js.
  • Nguồn gốc định dạng PSD của Photoshop có thể được xem trước và so với các phiên bản trước của cùng một tập tin.
  • Lồng nhiệm vụ danh sách
  • Tài liệu và Wiki
  • Các trang web nhỏ có thể được lưu trữ từ kho công cộng trên Github. Định dạng URL là http://projectname.github.io. Và có thể được tạo ra bằng cách bắt đầu một kho lưu trữ được định dạng như projectname.io
  • Code Snippets (bằng cách sử dụng tên miền phụ Gist)
  • Theo dõi vấn đề và tính năng yêu cầu
  • Trực quan của dữ liệu không gian địa lý
  • Biểu đồ Gantt

Github dành cho doanh nghiệp

Github cho doanh nghiệp cũng hoạt động giống Github.com, nhưng hỗ trợ phiên bản trả phí cho các doanh nghiệp muốn bảo vệ mã nguồn của mình, không công khai ra cộng đồng.

Theo wiki và Itviec