Git và Github là gì? Tại sao nên dùng? | Atmarkcafe Vietnam

Một câu hỏi mà nhiều người đặt ra đó là Git là cái gì ? Nó là ngôn từ lập trình gì chăng ? Hay một loại thức ăn nào đó ? Một kỹ thuật phong cách 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 .
Trước khi nói qua về Git, mình có một câu truyện ngắn muốn kể cho những bạn như sau .

Có hai chàng trai lập trình viên đang hợp tác với nhau cùng kiến thiết xây dựng một ứng dụng cho người mua. Dĩ nhiên hai chàng trai này sẽ thao tác với nhau bằng cách mỗi người tự viết code một chút ít và gửi cho nhau qua email hoặc một phương pháp gửi tài liệu thường thì nào đó. Mỗi người sau khi nhận được code của nhau sẽ triển khai tự xem và sửa lại, sau đó cùng nhau ráp nối vào ứng dụng mà họ cần làm. Tuy nhiên, một hôm anh A tự nhiên vô tình viết code sai vào ứng dụng dẫn tới mẫu sản phẩm bị lỗi mà trước đó cả hai anh đều không hề sao lưu lại do ứng dụng quá lớn. Và thế là hai anh lại cùng nhau kiến thiết xây dựng lại tính năng bị lỗi và liên tục gửi cho nhau như vậy .

Thế bạn có thấy vấn đề gì xảy ra ở câu chuyện trên không? Mình thì mình thấy có hai vấn đề như sau:

  1. Việc tự code riêng và gửi cho nhau qua email rất mất thời gian của nhau. Giá như anh A có thể chủ động xem những thay đổi của anh B từ xa và tiến hành gộp trực tiếp những thay đổi của anh B vào sản phẩm.
  2. Việc sửa code mà không sao lưu khiến cho họ phải viết lại code từ đầu khi phần mềm bị lỗi.

Và hai yếu tố trên Git hoàn toàn có thể sẽ giúp hai chàng trai ấy xử lý nhanh gọn lẹ và đơn thuần hơn rất nhiều. Ngoài ra Git còn làm nhiều việc hơn nữa mà chỉ hoàn toàn có thể sử dụng bạn mới hiểu được .

Git là gì?

Git là tên gọi của một Hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS) là một trong những hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay. 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. Đại loại là như vậy.

dvcs

Ngoài ra, có một cách hiểu khác về Git đơn thuần hơn đó là nó sẽ giúp bạn lưu lại những phiên bản của những lần đổi khác vào mã nguồn và hoàn toàn có thể thuận tiện Phục hồi lại thuận tiện mà không cần copy lại mã nguồn rồi cất vào đâu đó. Và một người khác hoàn toàn có thể xem những đổi khác của bạn ở từng phiên bản, họ cũng hoàn toàn có thể so sánh những đổi khác của bạn rồi gộp phiên bản của bạn vào phiên bản của họ. Cuối cùng là tổng thể hoàn toàn có thể đưa những đổi khác vào mã nguồn của mình lên một kho chứa mã nguồn .

Cơ chế lưu trữ phiên bản của Git là nó sẽ tạo ra một “ảnh chụp” (snapshot) trên mỗi tập tin và thư mục sau khi commit, từ đó nó có thể cho phép bạn tái sử dụng lại một ảnh chụp nào đó mà bạn có thể hiểu đó là một phiên bản. Đây cũng chính là lợi thế của Git so với các DVCS khác khi nó không “lưu cứng” dữ liệu mà sẽ lưu với dạng snapshot.

Github là gì?

github-home

Mình biết là có rất nhiều bạn khi nghe nói đến Git sẽ nghĩ ngay đến Github và có thể sẽ có một số hiểu lầm với họ. Cũng xin nhắc lại rằng, Git là tên gọi của một mô hình hệ thống. Như mình đã giải thích ở trên, các máy tính có thể clone lại mã nguồn từ một repositoryGithub chính là một dịch vụ máy chủ repositorycông cộng, mỗi người có thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể làm việc.

Liên kết: Đăng ký tài khoản Github

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

Có rất nhiều lợi thế để bạn nên sử dụng Git trong việc lập trình ngay từ hôm nay, bất kể là lập trình cái gì đi chăng nữa.

  • Git dễ sử dụng, an toàn và nhanh chóng.
  • Có thể 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).
  • Bạn có thể làm việc ở bất cứ đâu vì 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.
  • Dễ dàng trong việc deployment sản phẩm.
  • Và nhiều hơn thế nữa.

Nếu bạn là một lập trình viên thì Git là một mạng lưới hệ thống bạn cần phải biết cách sử dụng, tối thiểu là ngay từ giờ đây .
Source : Thach Pham