top of page
Tìm kiếm
Ảnh của tác giảthanh pham

Git là gì?

Đã cập nhật: 13 thg 8, 2021

Trong quá trình làm việc hoặc hoặc tập code của các bạn thường được lưu ở đâu?

  • Trong ổ đĩa

  • Trong USB

  • Trên Google Drive

Mình cũng đã từng như thế khi còn là cậu sinh viên mới bắt đầu làm quen với code lúc đó đa số code của mình được lưu trên ổ đĩa cũng như Google Drive khi nào cần gửi cho bạn bè thì copy vào usb rồi đưa cho bạn bè là xong. Mọi thứ ổn! Không có gì là quá khó khăn ở đây cả.

Nhưng đó chỉ là những đoạn code nhỏ vấn đề bắt đầu sảy ra khi sang năm 4 mình bắt đầu làm các project lớn hơn phải làm việc nhóm nhiều hơn thì sự bất tiện của nó dần được bộc lộ.

Bạn nghĩ sao nếu:

  • Một ngày đẹp trời mở máy lên project bạn đang code bị biến mất vì virus. Hoặc thông minh hơn mỗi lần code xong lại nén lại rồi vứt lên Drive rồi sau 1 tháng bạn có hàng tá file Zip kiểu A.1.zip, A.2.zip (nghe có vẻ cực vì mỗi lần upload có phải nhanh đâu).

  • Hay là vừa lỡ tay xoá 1 đoạn code nào đó mà lại chưa kịp backup.

  • Rồi kinh khủng nhất khi bạn và thằng bạn cùng nhóm ghép module lại với nhau thì 2 thằng phải hì hục cả ngày mới có thể ghép lại cho nó chạy được và hàng tá các vấn đề bất cập kéo theo.

Đó là vấn đề của khá nhiều người gặp khi chuyển từ làm việc cá nhân sang làm việc nhóm và vì thế Git ra đời để hỗ trợ các vấn đề trên. Thế git là gì chúng ta cùng nhau tìm hiểu?


2. Git là gì?


Git là một trong những hệ thống quản lý phiên bản Phân tán (Distributed Version Control System – DVCS), vốn được phát triển nhằm quản lý mã nguồn (source code) của Linux ra đời vào năm 2005 và hiện được dùng rất phổ biến. So với các hệ thống quản lý phiên bản tập trung (như chiếc máy tính của bạn cũng coi như là một hệ thống quản lý phiên bản tập trung) khi tất cả mã nguồn và lịch sử thay đổi chỉ được lưu một nơi là máy chủ thì trong hệ thống phân tán các máy khách có thể sao chép toàn bộ kho mã nguồn. Như vậy, nếu như máy chủ ngừng hoạt động, thì bạn hoàn toàn có thể lấy kho chứa từ bất kỳ máy khách nào để sao chép ngược trở lại máy chủ để khôi phục lại toàn bộ hệ thống.

Để cho dễ hình dung các bạn có thể thấy hình ảnh ở trên mình sẽ liên hệ luôn vào vấn đề ban đầu là 2 bạn A và B cùng làm chung một project ở trường. Project của các bạn ấy sẽ được lưu trên Git và khi A và B bắt đầu code thì các bạn tải project trên Git về. Sau mỗi lần code xong trước khi tắt máy cả 2 bạn A và B cùng đẩy phần code lên Git để lưu lại cũng giống với việc bạn nén file lại rồi up lên google drive nhưng Git chỉ lấy những phần mà bạn code thêm đẩy lên chứ không đẩy hết cả Project nên sẽ nhanh hơn. Ngoài ra bạn A còn có thể xem được B đang code gì khi B đẩy code lên git và ngược lại từ đó làm việc nhóm cũng như tương tác giữa 2 người hiệu quả hơn.

è Đó chỉ một góc nhỏ của Git đã đưa bài toán trở nên đơn giản hơn nhiều

3. Công dụng của git


Ví dụ liên hệ trên chỉ phản ánh một phần công dụng của Git thế thực hư Git xịn như thế nào chúng ta cùng tìm hiểu qua các công dụng chính sau:

- Trên Git, ta có thể lưu trạng thái của file dưới dạng lịch sử cập nhật. Vì thế, có thể đưa file đã chỉnh sửa một lần về trạng thái cũ hay có thể biết được file đã được chỉnh sửa chỗ nào.

- Dễ dàng so sánh giữa các phiên bản

- Git sử dụng mô hình phân tán, ngược lại so với SVN hoặc CSV. Mỗi nơi lưu source sẽ đc gọi là repositories, không cần lưu trữ tập trung một nơi, mà mỗi thành viên trong team sẽ có một repository ở máy của riêng mình. Các thành viên dễ dàng phát triển các tính năng riêng cùng một lúc

- Khi định ghi đè (overwrite) lên file mới nhất đã chỉnh sửa của người khác bằng file đã chỉnh sửa dựa trên file cũ, thì khi upload lên server sẽ hiện ra cảnh cáo. Vì thế, sẽ không xảy ra lỗi khi ghi đè lên nội dung chỉnh sửa của người khác mà không hề hay biết.

- Dễ dàng phát triển, mở rộng tính năng của dự án mà không làm ảnh hưởng đến phiên bản chính (master branch)

4. Tổng kết


Tổng kết lại Git giúp phối hợp thực hiện dự án trong nhóm một cách hiệu quả, khi bạn làm việc nhóm thì việc quản lý code là một vấn đề rất nan giải, bạn có thể có kế hoạch tốt nhưng nếu bạn không kiểm soát tiến độ, chất lượng của từng đoạn code thì khó mà bạn có một dự án thành công, còn chưa kể lỡ như một thành viên thay đổi dù chỉ là một đoạn code nhỏ và dẫn tới chương trình bị lỗi phát hiện nó là rất khó. Thay vì quản lý thủ công và rà soát từ đầu đến cuối Git sẽ giúp bạn kiểm soát khi mỗi thành viên đẩy code của họ lên, nếu có phát sinh lỗi bạn có thể yêu cầu thành viên chỉnh sửa đến khi khắc phục được thì bạn mới thực hiện merged vào source code chung của nhóm. Việc này sẽ tiết kiệm được rất nhiều thời gian sau này, và bạn có thể kiểm soát được cách làm cũng như tiến độ của các thành viên trong nhóm.

32 lượt xem0 bình luận

Bài đăng gần đây

Xem tất cả

Comments


bottom of page