Git (phần mềm)

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
Git
Git-logo.svg
280px
A command-line session showing repository creation, addition of a file, and remote synchronization
Thiết kế bởi Linus Torvalds[1]
Phát triển bởi Junio Hamano and others[2]
Phát hành lần đầu 7 tháng 4, 2005; 11 năm trước
Bản ổn định 2.10 / 2 tháng 9, 2016; 26 ngày trước
Tình trạng phát triển Active
Viết bằng C, Shell, Perl, TclPython[3]
Hệ điều hành Linux, Windows, OS X
Nền tảng POSIX
Thể loại Version control
Giấy phép GNU GPL v2[4] and GNU LGPL v2.1[5]
Trang web git-scm.com

Git ( /ɡɪ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.

Hỗ trợ nhiều hệ điều hành khác nhau[sửa | sửa mã nguồn]

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 | sửa mã nguồn]

  • 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ó 4 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. thấy vì 1 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 hứ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 | sửa mã nguồn]

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ũ, vấn được hỗ trợ: 2.4 2015-04-30 2.4.11 2016-03-17
Phiên bản cũ, vấn được hỗ trợ: 2.5 2015-07-27 2.5.5 2016-03-17
Phiên bản cũ, vấn được hỗ trợ: 2.6 2015-09-28 2.6.6 2016-03-17
Phiên bản cũ, vấn được hỗ trợ: 2.7 2015-10-04 2.7.4 2016-03-17
Phiên bản cũ, vấn được hỗ trợ: 2.8 2016-03-28 2.8.4 2016-06-06
Phiên bản cũ, vấn được hỗ trợ: 2.9 2016-06-13 2.9.3 2016-08-12
Phiên bản ổn định hiện tại: 2.10 2016-09-02 2.10 2016-09-02
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 | sửa mã nguồn]

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 | sửa mã nguồn]

  1. ^ “Initial revision of "git", the information manager from hell”. Github. 8 tháng 4 năm 2005. Truy cập ngày 20 tháng 12 năm 2015. 
  2. ^ “Commit Graph”. Github. 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. 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. 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 | sửa mã nguồn]