Một câu hỏi mà nhiều người đặt ra khi nhìn thấy serie này đó là Git là gì? Nó là ngôn ngữ lập trình gì chăng? Hay một loại thức ăn nào đó? Một kỹ thuật thiết kế website sao? Hoàn toàn không, bạn sẽ hiểu được Git là cái gì sau khi đọc hết từng chữ trong bài viết này.
Git là gì?
Git là một hệ thống quản lý phiên bản phân tán (distributed version control system). Nhờ Git, việc quản lý code và làm việc nhóm của developer trở nên đơn giản, thuận tiện hơn.
Sự giống/khác nhau giữa các hệ thống quản lý phiên bản khác và Git là gì?
1. Giống:
Git là một hệ thống quản lý phiên bản (viết tắt: VCS), Git cũng hỗ trợ:
- Quản lý code và lịch sử thay đổi.
Ví dụ, bạn chỉnh sửa code và “trót dại” làm ra một đống bug? Bạn muốn quay trở lại trạng thái trước khi “nghịch ngợm”? Nếu không dùng VCS, bạn sẽ phải sao chép lại file trước khi chỉnh sửa, đồng thời phải thường xuyên cập nhật tên thư mục và tên file.
- Làm việc nhóm.
Ví dụ, các thành viên trong nhóm muốn trao đổi code với nhau. Nếu không dùng VCS, họ sẽ phải: 1) chép từng module, đoạn code vào usb rồi đưa cho nhau. 2) hoặc gửi các đoạn code nhỏ qua ứng dụng chat, mail… Những cách trên đều rất thủ công, tốn resources và tiềm ẩn nhiều rủi ro. Các VCS (bao gồm Git) ra đời để khắc phục điều này.
2. Khác:
Git tiếp cận theo hướng phân tán (distributed approach) trong khi các VCS khác tiếp cận theo hướng tập trung (centralized).
Điểm khác biệt lớn nhất của Git là gì? Đó là khả năng tách nhánh (branch). Nhờ vậy, Git hỗ trợ rất tốt cho teamwork, vì những việc như phân chia task, tổng hợp code trở nên dễ dàng hơn nhiều. (Bạn có thể dùng từ khóa “git flow” để tìm hiểu thêm).
Ví dụ, cùng một lúc, chúng ta thường có một team làm tính năng mới, một vài team khác nâng cấp các tính năng hiện có, và một người fix bug. Nếu không dùng Git, khả năng cao là mọi người sẽ làm việc giẫm chân nhau, những task sắp hoàn thành sẽ bị trì hoãn. Ngoài ra, tất cả mọi task lớn nhỏ sẽ buộc phải hoàn thành hết trước khi deploy, bởi vì chỉ cần 1 task vẫn đang dang dở, cả phần mềm có thể bị sập.
3 lợi ích lớn nhất của việc dùng Git là gì?
- Sắp xếp công việc tốt hơn. Nghĩa là, bạn có thể tập trung giải quyết từng task mà không phải bận tâm lo lắng cho những task liên quan.
- Linh hoạt hơn khi phải làm cùng lúc nhiều task, bởi vì bạn có thể cấu trúc công việc dễ dàng hơn.
- Tự tin hơn khi thử nghiệm những ý tưởng mới, vì bạn có thể tách biệt việc thử nghiệm với dự án chính. Điều này giúp nâng cao chất lượng code cũng như tính sáng tạo.
Nhìn chung, hiện nay Git được coi là tiêu chuẩn bất thành văn trong ngành. Nếu chưa biết về Git, bạn nên dành thời gian để bắt đầu tìm hiểu ngay. Vì, sớm hay muộn, bạn cũng sẽ thuộc về một team phải dựa dẫm vào nó.