git là gì

Là một lập trình viên, việc phải làm việc với nhiều người(làm việc nhóm) là điều thường thấy. Kể cả làm việc một mình thì quản lý source code là rất quan trọng. Git sẽ giúp bạn quản lý code của bạn tốt hơn. Bài viết này mình sẽ nói về GIT và những công dụng của nó mà lập trình viên cần biết.

Github là gì?

GitHub là một dịch vụ lưu trữ mã nguồn trên web cho các dự án phát triển phần mềm. GitHub cung cấp cho người dùng cả phiên bản trả tiền lẫn miễn phí cho các tài khoản. 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. Nó được tạo bởi Linus Torvalds vào năm 2005. GitHub được viết bằng Ruby on Rails và Erlang.

Hiện nay, github đã trở thành một yếu tố có sức ảnh hưởng trong cộng đồng phát triển mã nguồn mở. Đã có nhiều nhà phát triển đã bắt đầu xem đây 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 để họ có thể đánh giá ứng viên.

Xem thêm: Chặng đường sự nghiệp của lập trình viên

GitHub cung cấp chức năng social networking như feeds, followers và network graph để các Developer học hỏi kinh nghiệm làm việc của nhau thông qua lịch sử commit.

Nếu comment dùng để mô tả chức năng của đoạn code, thì commit message trên Git dùng để mô tả hành động mà bạn vừa thực hiện trên code.

Vài thông tin về 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, …)

Xem thêm: Mô hình client- server

Những tính năng của Github

GitHub được coi là một mạng xã hội lớn nhất dành cho lập trình viên và dễ dùng nhất với các tính năng cốt lõi của nó như là:

  • Wiki, issue, thống kê, đổi tên project, project được đặt vào namespace là user
  • Watch project: theo dõi hoạt động của project của người khác. Xem quá trình người ta phát triển phầm mềm thế nào, project phát triển ra sao
  • Follow user: theo dõi hoạt động của người khác.
git căn bản
git căn bản

Có 2 cách tiếp cận GitHub:

  • Tạo project của riêng mình
  • Cống hiến cho project có sẵn: fork project có sẵn của người khác, sửa đổi, sau đó đề nghị họ cập nhật sửa đổi của mình (tạo pull request)

Tính năng API của GitHub là gì?

GIT có nhiều chức năng tuyệt vời. Ngoài ra, nó còn hỗ trợ tính năng API cho lập trình viên và người dùng khác, nhằm mục đích quản lý nguồn dữ liệu dễ dàng và khoa học hơn. Dưới đây là một số tính năng cơ bản của API:

  • API lớn cải tiến The Repository via HTTP. Cho phép người dùng thực hiện chỉnh sửa các file source code thông qua http-post.
  • API hỗ trợ hỗ trợ người dùng đánh giá và so sánh code của dự án thông qua công việc nhìn thấy các commit. Và bạn cũng có thể đưa ra nhận xét thông qua web browser.
  • API cho phép người dùng đăng ký một đường link cho các kho lưu trữ của bạn. Bất cứ khi nào có người push source code của họ lên repository, GitHub thông báo cho bạn biết bằng cách post thông tin về lần push đó khi đến URL mà bạn đang đăng ký trước đó.

Cách mà Git hoạt động

Nếu chúng ta muốn bắt đầu sử dụng Git, chúng ta cần biết nơi lưu trữ các repository của mình.

Một kho lưu trữ (hay gọi tắt là Repo) là một dự án chứa nhiều tệp. Trong trường hợp của chúng ta, một kho lưu trữ sẽ chứa các tệp dựa trên code.

Có hai cách bạn có thể lưu trữ kho của bạn. Một là trực tuyến (trên đám mây) và thứ hai là ngoại tuyến (tự cài đặt trên máy chủ của bạn).

Có ba dịch vụ lưu trữ trên Git phổ biến đó là: GitHub (thuộc sở hữu của Microsoft), GitLab (thuộc sở hữu của GitLab) và BitBucket. Chúng ta sẽ sử dụng GitHub trong bài này.

cách git hoạt động
cách git hoạt động

Tại sao bạn nên sử dụng Git?

Việc sử dụng Git Có rất nhiều lợi thế cho bạn trong việc lập trình của bạn, bất kể là lập trình cái gì đi chăng nữa thì việc sử dụng git là rất cần thiết. bạn là một lập trình viên thì Git là một hệ thống bạn cần phải biết cách sử dụng, ít nhất là ngay từ bây giờ.

Lợi ích git với lập trình viên

  • Có thể sẽ giúp quy trình làm việc code theo nhóm đơn giản hơn rất nhiều bằng việc kết hợp các phân nhánh (branch).
  • Git dễ sử dụng, có độ bảo mật an toàn thông tin cao và nhanh chóng.
  • Bạn có thể làm việc ở bất cứ đâu vì chỉ cần clone mã nguồn từ trên git.
  • Dễ dàng trong việc deployment sản phẩm.
  • Bạn sẽ không còn lo ngại thay đổi làm mất mã nguồn từ kho chứa bởi hệ thống có thể khôi phục hoàn toàn các phiên bản cũ khi cần.
  • Dễ dàng theo dõi các thay đổi trong code của bạn qua các phiên bản.
  • 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.
  • Quản lý source code dễ dàng: Tại đây, bạn có thể coi lại quá trình mình đã làm việc thông qua các comment sau mỗi lần commit. Và cái hay ở đây, là nhiều người có thể cùng làm một repo.
  • Github là một kho tài nguyên tuyệt vời: Bạn có thể theo dõi, tìm kiếm những open source projects theo đúng technology pattern mà bạn ưa thích. Github hỗ trợ code search không kể nó ở dưới dạng một project riêng biệt hay là website.

Một vài khái niệm của Git mà bạn cần nắm

Ở Github nó có khá nhiều những khái niệm quan trọng. Bên dưới đây là một số những khái niệm cơ bản mà bắt buộc người dùng cần phải nắm để có thể sử dụng Github một cách hiệu quả nhất:

  • branch: có thể 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 nhằm mục đích để clone các project, repository trên các hệ thống chạy trên cơ sở là git. 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.
  • repository: Kho quản lý dữ liệu, 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ự những khác nhau giữa phiên bản hiện tại với phiên bản muốn so sánh.
  • .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.
  • git: Là prefix của các lệnh được sử dụng dưới CLI.
một số lệnh cơ bản trong git
một số lệnh cơ bản trong git

Tham khảo:

https://vi.wikipedia.org/wiki/Git

Tổng kết

Việc sử dụng GIT là rất cần thiết đối với lập trình viên. Giúp cải thiện nhiều kĩ năng trong làm việc nhóm và phát triển bản thân.

Leave a Reply