Git (phần mềm)
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 năm 2005 |
Phiên bản ổn định | 2.10
/ 2 tháng 9 năm 2016 |
Kho mã nguồn | |
Viết bằng | C, Shell, Perl, Tcl và Python[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] |
Website | git-scm |
Trạng thái | Active |
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.
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ó 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 | 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 |
---|---|---|---|
0.99 | 2005-07-11 | 0.99.9n | 2005-12-15 |
1.0 | 2005-12-21 | 1.0.13 | 2006-01-27 |
1.1 | 2006-01-08 | 1.1.6 | 2006-01-30 |
1.2 | 2006-02-12 | 1.2.6 | 2006-04-08 |
1.3 | 2006-04-18 | 1.3.3 | 2006-05-16 |
1.4 | 2006-06-10 | 1.4.4.5 | 2008-07-16 |
1.5 | 2007-02-14 | 1.5.6.6 | 2008-12-17 |
1.6 | 2008-08-17 | 1.6.6.3 | 2010-12-15 |
1.7 | 2010-02-13 | 1.7.12.4 | 2012-10-17 |
1.8 | 2012-10-21 | 1.8.5.6 | 2014-12-17 |
1.9 | 2014-02-14 | 1.9.5 | 2014-12-17 |
2.0 | 2014-05-28 | 2.0.5 | 2014-12-17 |
2.1 | 2014-08-16 | 2.1.4 | 2014-12-17 |
2.2 | 2014-11-26 | 2.2.3 | 2015-09-04 |
2.3 | 2015-02-05 | 2.3.10 | 2015-09-29 |
2.4 | 2015-04-30 | 2.4.11 | 2016-03-17 |
2.5 | 2015-07-27 | 2.5.5 | 2016-03-17 |
2.6 | 2015-09-28 | 2.6.6 | 2016-03-17 |
2.7 | 2015-10-04 | 2.7.4 | 2016-03-17 |
2.8 | 2016-03-28 | 2.8.4 | 2016-06-06 |
2.9 | 2016-06-13 | 2.9.3 | 2016-08-12 |
2.10 | 2016-09-02 | 2.10.5 | 2017-09-22 |
2.11 | 2016-11-29 | 2.11.4 | 2017-09-22 |
2.12 | 2017-02-24 | 2.12.5 | 2017-09-22 |
2.13 | 2017-05-10 | 2.13.7 | 2018-05-22 |
2.14 | 2017-08-04 | 2.14.5 | 2018-09-27 |
2.15 | 2017-10-30 | 2.15.3 | 2018-09-27 |
2.16 | 2018-01-17 | 2.16.5 | 2018-09-27 |
2.17 | 2018-04-02 | 2.17.2 | 2018-09-27 |
2.18 | 2018-06-21 | 2.18.1 | 2018-09-27 |
2.19 | 2018-09-10 | 2.19.2 | 2018-11-21 |
2.20 | 2018-12-09 | 2.20.1 | 2018-12-15 |
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 |
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]- ^ “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.
- ^ “Commit Graph”. Github. ngày 8 tháng 6 năm 2016. Truy cập ngày 19 tháng 12 năm 2015.
- ^ “Git Source Code Mirror”. Truy cập ngày 4 tháng 11 năm 2015.
- ^ “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.
- ^ “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 | sửa mã nguồn]- Website chính thức
- Git Magic – một quyển sách hay về Git đã được dịch ra tiếng Việt.
- Git Community Book – nơi có thể tìm thấy các tài liệu hướng dẫn