post-image

Git là gì ? Phân biệt Git và Github

Tổng quan

Có lẽ với các lập trình viên thì cái tên Git và Github đã quá quen thuộc. Nhưng nhiều người vẫn hay nhầm lẫn rằng Github và Git là một. Vậy Git là gì và nó với Github khác nhau như thế nào ? Chúng ta cùng tìm hiểu ở bài này nhé.

Git là gì?

Git là tên gọi là một hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay (Distributed Version Control System – DVCS). DVCS nghĩa là hệ thống giúp mỗi máy tính có thể lưu trữ nhiều phiên bản khác nhau của một mã nguồn được nhân bản (clone) từ một kho chứa mã nguồn (repository), mỗi thay đổi vào mã nguồn trên máy tính sẽ có thể ủy thác (commit) rồi đưa lên máy chủ nơi đặt kho chứa chính. Và một máy tính khác (nếu họ có quyền truy cập) cũng có thể clone lại mã nguồn từ kho chứa hoặc clone lại một tập hợp các thay đổi mới nhất trên máy tính kia. Trong Git, thư mục làm việc trên máy tính gọi là Working Tree.

Github là gì?

Chúng ta đã nghe tới Git và có thể đã dùng GitHub nhưng chúng ta đa phần vẫn nhầm lẫn Git vs GitHub là một bởi vì cứ nói đến Git là nghĩ tới GitHub. Đó là một sự hiểu lầm vì Git như đã giải thích ở trên đó là tên gọi của một mô hình hệ thống, các máy tính có thể clone lại mã nguồn từ một repository, còn GitHub là tên của một công ty cũng cấp dịch vụ máy chủ repository công cộng, mỗi người có thể truy cập vào website trang chủ để tạo tài khoản trên đó và tạo ra kho chứa source của riêng mình khi làm việc.

Đọc tới đây hi vọng mọi người không còn nhầm lẫn giữa 2 cái này nữa ^^

Vậy tại sao chúng ta lại nên sử dụng Git ?

Các dự án thực tế thường có nhiều lập trình viên làm việc song song. Vì vậy, một hệ thống kiểm soát phiên bản như Git là cần thiết để đảm bảo không có xung đột code giữa các lập trình viên.

Ngoài ra, các yêu cầu trong các dự án như vậy thay đổi thường xuyên. Vì vậy, một hệ thống kiểm soát phiên bản cho phép các nhà phát triển revert và quay lại phiên bản cũ hơn của code.

Cuối cùng, đôi khi một số dự án đang được chạy song song liên quan đến cùng một cơ sở code. Trong trường hợp như vậy, khái niệm phân nhánh trong Git là rất quan trọng.

  • Dễ sử dụng, thao tác nhanh, gọn, lẹ và rất an toàn.
  • Sễ dàng kết hợp các phân nhánh (branch), có thể giúp quy trình làm việc code theo nhóm đơn giản hơn rất nhiều.
  • Chỉ cần clone mã nguồn từ kho chứa hoặc clone một phiên bản thay đổi nào đó từ kho chứa, hoặc một nhánh nào đó từ kho chứa là bạn có thể làm việc ở mọi lúc mọi nơi.
  • Deployment sản phẩm của bạn một cách không thể nào dễ dàng hơn.

Một số thuật ngữ của Git cần biết

  • Branch: Các Branch (nhánh) đại diện cho các phiên bản cụ thể của một repository tách ra từ project chính của bạn.
  • Commit: commit đại diện cho một thời điểm cụ thể trong lịch sử dự án của bạn
  • Fork: Fork là một bản sao của một kho lưu trữ (repository)
  • Head: Các commit ở đầu của một branch được gọi là head. Nó đại diện cho commit mới nhất của repository mà bạn hiện đang làm việc.
  • Origin: Origin là phiên bản mặc định của repository.
  • Remote: Remote (kho lưu trữ từ xa) là một bản sao của một chi nhánh.
  • Repository: Kho lưu trữ Git chứa tất cả các tệp dự án của bạn bao gồm các branch, tags và commit.

Leave a Reply

Your email address will not be published.