Git

« Back to Glossary Index

Git là một Hệ thống Quản lý Phiên bản Phân tán (Distributed Version Control System – DVCS) mã nguồn mở và miễn phí, được thiết kế để theo dõi và quản lý các thay đổi trong mã nguồn hoặc các tập tin của một dự án theo thời gian.

Nó được phát triển bởi Linus Torvalds (người tạo ra Linux) vào năm 2005.

1. Các Đặc điểm Chính của Git

  • Quản lý Phiên bản: Git cho phép bạn lưu trữ nhiều phiên bản của mã nguồn, theo dõi chi tiết ai đã thay đổi khi nào. Điều này rất quan trọng để có thể quay lại các phiên bản trước nếu xảy ra lỗi.
  • Phân tán (Distributed): Đây là điểm khác biệt lớn nhất. Thay vì chỉ có một máy chủ trung tâm lưu trữ lịch sử dự án, Git cho phép mỗi nhà phát triển có một bản sao (clone) đầy đủ của toàn bộ kho lưu trữ (repository) và lịch sử dự án ngay trên máy tính cá nhân của họ.
    • Điều này giúp làm việc nhanh chóng, an toàn hơn và cho phép làm việc offline (ngoại tuyến).
  • Hỗ trợ làm việc nhóm: Git đơn giản hóa việc hợp nhất (merge) các thay đổi từ nhiều người làm việc song song trên cùng một dự án.
  • Cơ chế Branching (Phân nhánh): Git nổi tiếng với khả năng tạo nhánh (branch) dễ dàng và nhanh chóng. Nhánh cho phép các nhà phát triển thử nghiệm các tính năng hoặc sửa lỗi mà không làm ảnh hưởng đến mã nguồn chính đang hoạt động ổn định. Sau khi hoàn tất, họ có thể hợp nhất nhánh đó trở lại nhánh chính.

2. Vai trò của Git trong Phát triển Phần mềm

Git là công cụ không thể thiếu trong quy trình phát triển phần mềm hiện đại, đặc biệt trong các dự án lớn và đội nhóm đông người, vì nó giúp:

  1. Theo dõi Lịch sử: Ghi lại mọi thay đổi một cách chi tiết.
  2. Hợp tác Hiệu quả: Giúp nhiều người đóng góp vào cùng một dự án mà không gây xung đột (hoặc giúp giải quyết xung đột một cách có tổ chức).
  3. An toàn Dự án: Đảm bảo mã nguồn không bị mất mát và luôn có thể khôi phục về trạng thái trước đó.

3. Phân biệt Git và GitHub/GitLab/Bitbucket

  • Git:phần mềm (hệ thống) quản lý phiên bản được cài đặt trên máy tính của bạn.
  • GitHub/GitLab/Bitbucket: Là các nền tảng dịch vụ web cung cấp kho lưu trữ (repository) từ xa (remote) cho các dự án Git. Chúng bổ sung thêm các tính năng như giao diện web, quản lý quyền truy cập, theo dõi lỗi, và công cụ cộng tác khác.
    • Các nền tảng này đóng vai trò là nơi trung gian để các nhà phát triển chia sẻ và đồng bộ hóa các thay đổi mã nguồn của họ.
« Back to Glossary Index
Scroll to Top