Git (phần mềm)

phần mềm quản lý mã nguồn phân tán bởi Linus Torvalds

Git (/ɡɪt/, đọc là "Ghít") là phần mềm quản lý mã nguồn phân tán được phát triển bởi Linus Torvalds vào năm 2005, ban đầu dành cho việc phát triển nhân Linux. Hiện nay, Git trở thành một trong các phần mềm quản lý mã nguồn phổ biến nhất. Git là phần mềm mã nguồn mở được phân phối theo giấy phép công cộng GPL2.

Git
Thiết kế bởiLinus Torvalds[1]
Phát triển bởiJunio Hamano and others[2]
Phát hành lần đầu7 tháng 4 năm 2005; 18 năm trước (2005-04-07)
Phiên bản ổn định
2.10 / 2 tháng 9 năm 2016; 7 năm trước (2016-09-02)
Kho mã nguồn
Viết bằngC, Shell, Perl, TclPython[3]
Hệ điều hànhLinux, Windows, OS X
Nền tảngPOSIX
Thể loạiVersion control
Giấy phépGNU GPL v2[4] and GNU LGPL v2.1[5]
Websitegit-scm.com
Trạng tháiActive

Hỗ trợ nhiều hệ điều hành khác nhau sửa

Git có khả năng chạy trên nhiều hệ điều hành khác nhau như Linux, Windows, Mac OSX v.v..

Khái niệm cơ bản trong Git sửa

  • Repository
Repository (nhà kho) hay được gọi tắt là Repo đơn giản là nơi chứa/cơ sở dữ liệu (database) tất cả những thông tin cần thiết để duy trì và quản lý các sửa đổi và lịch sử của dự án.

Trong Repo có 2 cấu trúc dữ liệu chính là Object Store và Index. Tất cả dữ liệu của Repo đều được chứa trong thư mục bạn đang làm việc dưới dạng folder ẩn có tên là.git (không có phần tên trước dấu chấm).

  • Object store
Object store là trái tim của Git, nó chứa dữ liệu nguyên gốc (original data files), các file log ghi chép quá trình sửa đổi, tên người tạo file, ngày tháng và các thông tin khác. Git có bốn loại object là: Blobs, Trees, Commits, Tags
  • Blobs: là file nhị phân có thể chứa được mọi loại dữ liệu bất kể là dữ liệu của chương trình gì.
  • Trees: lớp đại diện cho thông tin thư mục như thông tin định danh của blob, đường dẫn, chứa một ít metadata chứa thông tin cấu trúc và các thư mục nhỏ có trong thư mục đó.
  • Commits: Chứa metadata có thông tin về mọi thứ như tên tác giả, người tải lên (commiter), ngày tải lên, thông tin log...
  • Tags: đánh dấu cho dễ đọc. Thay vì một cái tên dài như là 9da581d910c9c4ac93557ca4859e767f5caf5169, chúng ta có thể tên tag là Ver-1.0- Alpha. Dễ nhớ và dễ sử dụng hơn.
  • Index
Index là file nhị phân động và tạm thời miêu tả cấu trúc thư mục của toàn bộ Repo và trạng thái của dự án được thể hiện thông qua commit và tree tại một thời điểm nào đó trong lịch sử phát triển. Git là một hệ thống truy tìm nội dung (content tracking system).

Index không chứa nội dung file mà chỉ dùng để truy tìm (track) những thứ mà bạn muốn commit.

Lịch sử phát triển sửa

Phiên bản Ngày đầu phát hành Phiên bản mới nhất Ngày phát hành
Phiên bản cũ, không còn được hỗ trợ: 0.99 2005-07-11 0.99.9n 2005-12-15
Phiên bản cũ, không còn được hỗ trợ: 1.0 2005-12-21 1.0.13 2006-01-27
Phiên bản cũ, không còn được hỗ trợ: 1.1 2006-01-08 1.1.6 2006-01-30
Phiên bản cũ, không còn được hỗ trợ: 1.2 2006-02-12 1.2.6 2006-04-08
Phiên bản cũ, không còn được hỗ trợ: 1.3 2006-04-18 1.3.3 2006-05-16
Phiên bản cũ, không còn được hỗ trợ: 1.4 2006-06-10 1.4.4.5 2008-07-16
Phiên bản cũ, không còn được hỗ trợ: 1.5 2007-02-14 1.5.6.6 2008-12-17
Phiên bản cũ, không còn được hỗ trợ: 1.6 2008-08-17 1.6.6.3 2010-12-15
Phiên bản cũ, không còn được hỗ trợ: 1.7 2010-02-13 1.7.12.4 2012-10-17
Phiên bản cũ, không còn được hỗ trợ: 1.8 2012-10-21 1.8.5.6 2014-12-17
Phiên bản cũ, không còn được hỗ trợ: 1.9 2014-02-14 1.9.5 2014-12-17
Phiên bản cũ, không còn được hỗ trợ: 2.0 2014-05-28 2.0.5 2014-12-17
Phiên bản cũ, không còn được hỗ trợ: 2.1 2014-08-16 2.1.4 2014-12-17
Phiên bản cũ, không còn được hỗ trợ: 2.2 2014-11-26 2.2.3 2015-09-04
Phiên bản cũ, không còn được hỗ trợ: 2.3 2015-02-05 2.3.10 2015-09-29
Phiên bản cũ, không còn được hỗ trợ: 2.4 2015-04-30 2.4.11 2016-03-17
Phiên bản cũ, không còn được hỗ trợ: 2.5 2015-07-27 2.5.5 2016-03-17
Phiên bản cũ, không còn được hỗ trợ: 2.6 2015-09-28 2.6.6 2016-03-17
Phiên bản cũ, không còn được hỗ trợ: 2.7 2015-10-04 2.7.4 2016-03-17
Phiên bản cũ, không còn được hỗ trợ: 2.8 2016-03-28 2.8.4 2016-06-06
Phiên bản cũ, không còn được hỗ trợ: 2.9 2016-06-13 2.9.3 2016-08-12
Phiên bản cũ, không còn được hỗ trợ: 2.10 2016-09-02 2.10.5 2017-09-22
Phiên bản cũ, không còn được hỗ trợ: 2.11 2016-11-29 2.11.4 2017-09-22
Phiên bản cũ, không còn được hỗ trợ: 2.12 2017-02-24 2.12.5 2017-09-22
Phiên bản cũ, vấn được hỗ trợ: 2.13 2017-05-10 2.13.7 2018-05-22
Phiên bản cũ, vấn được hỗ trợ: 2.14 2017-08-04 2.14.5 2018-09-27
Phiên bản cũ, vấn được hỗ trợ: 2.15 2017-10-30 2.15.3 2018-09-27
Phiên bản cũ, vấn được hỗ trợ: 2.16 2018-01-17 2.16.5 2018-09-27
Phiên bản cũ, vấn được hỗ trợ: 2.17 2018-04-02 2.17.2 2018-09-27
Phiên bản cũ, vấn được hỗ trợ: 2.18 2018-06-21 2.18.1 2018-09-27
Phiên bản cũ, vấn được hỗ trợ: 2.19 2018-09-10 2.19.2 2018-11-21
Phiên bản cũ, vấn được hỗ trợ: 2.20 2018-12-09 2.20.1 2018-12-15
Phiên bản ổn định hiện tại: 2.21 2019-02-24 2.21.0 2019-02-24
Chú giải:
Phiên bản cũ
Phiên bản cũ, vẫn được hỗ trợ
Phiên bản mới nhất
Phiên bản xem trước mới nhất
Ra mắt trong tương lai

Phần mềm hỗ trợ sửa

Có nhiều website và phần mềm cho phép lưu trữ (miễn phí và có phí) Git.

Tham khảo sửa

  1. ^ “Initial revision of "git", the information manager from hell”. Github. ngày 8 tháng 4 năm 2005. Truy cập ngày 20 tháng 12 năm 2015.
  2. ^ “Commit Graph”. Github. ngày 8 tháng 6 năm 2016. Truy cập ngày 19 tháng 12 năm 2015.
  3. ^ “Git Source Code Mirror”. Truy cập ngày 4 tháng 11 năm 2015.
  4. ^ “Git's GPL license at github.com”. github.com. ngày 18 tháng 1 năm 2010. Truy cập ngày 12 tháng 10 năm 2014.
  5. ^ “Git's LGPL license at github.com”. github.com. ngày 20 tháng 5 năm 2011. Truy cập ngày 12 tháng 10 năm 2014.

Liên kết ngoài sửa