Tải bản đầy đủ (.pptx) (19 trang)

Đề tài tìm hiểu về git dưới góc nhìn của hệ phân tán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.06 MB, 19 trang )


BÁO CÁO
BÀI TẬP
LỚN


Đề tài: Tìm hiểu về Git dưới
góc nhìn của Hệ phân tán
Giảng viên hướng dẫn: TS. Đặng Tuấn Linh
Danh sách thành viên nhóm:
Họ và tên
Nguyễn Thành Bắc

MSSV
20194229

Trương Văn Hiển

20194276

Đinh Trọng Nghĩa

20194340

Nguyễn Trường Sơn

20194364


Chương 1: Kiến trúc hệ phân tán
• 1.1. Khái niệm về Git


• 1.2. Các lợi thế của Git
• 1.3. Đặc tính phi tập trung của Git
• 1.4. Hệ thống quản lý phiên bản (VCS)
• 1.5. Mơ hình quản lý source phân tán
• 1.6. So sánh mơ hình quản lý source CVS SVN

4


• 1.1. Khái niệm về Git

- 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ý phien
bản phân tán phổ
biến nhất hiện
nay
5


• 1.2. Các lợi thế của Git

-


Mã nguồn mở và miễn phí
Tốc độ nhanh và nhỏ gọn
Dự phịng ẩn
An tồn cao
Không yêu cầu phần cứng mạnh
Phân nhánh dễ dàng hơn

6


• 1.3. Đặc tính phi tập trung của Git
- Ví dụ minh họa:

7


• 1.4. Hệ thống quản lý phiên bản (VCS)
- Là một dạng phần mềm Quản lý mã nguồn
(SCM)
- Vì sao phải sử dụng VCS?
=>Vì VCS là hệ thống hỗ trợ làm việc nhóm
hiệu quả
- Chức năng của VCS:
+ Lưu lại lịch sử thay đổi của file
+ Làm việc đồng thời
+ Phân nhánh và hợp nhất
+ Truy xuất nguồn gốc

8



• 1.5. Mô hình quản lý source phân tán

- Git có hướng tiếp cận hồn tồn mới so với
SVN
- Source control ra đời để phục vụ nhu cầu cho
nhiều hơn một developer
- Git hồn tồn đối lập
- Tính phân tán an tồn hơn tính tập trung
9


• 1.6. So sánh mô hình quản lý source
CVS - SVN
- Sự cải thiện lớn nhất của SVN từ CVS là bổ
sung commit của các thành viên gọi là Atomic
Commit
- Các commit của SVN có thể roll-back lại trạng
thái trước đó, CVS thì khơng thể undo
- SVN tiện lợi hơn CVS trong việc đổi tên và di
chuyển các tập tin, thư mục

10


Chương 2: Trao đổi thông tin

- Phần lớn các thao tác/hoạt động trong Git chỉ
cần yêu cầu các tập tin hay tài nguyên cục

bộ

11


Chương 3: Cơ chế định danh

- Thành phần quan trọng của object: type (4
loại: blob, tree, commit, tag), size, content

- Khái niệm liên quan đến cơ chế snapshot của
Git là loose object format (định danh đối
tượng trong suốt của git)

12


Chương 4: Cơ chế đồng bộ hóa
- Git và Github không giống nhau nhưng chúng
thường được sử dụng cùng nhau:
+ Git là hệ thống kiểm soát phiên bản
+ Muốn lưu trữ trong host website có thể tạo
tài khoản tại Github, …
- Kho lưu trữ cục bộ và từ xa:
+ Clone là tạo một bản sao của kho lưu trữ Git
+ Để đồng bộ hóa kho này, chúng ta sẽ sử
dụng nhiều hàm hơn (git fetch, git pull, git
push)
- Lấy những commits mới hơn từ kho lưu trữ
gốc

13


Chương 5: Tính nhân bản và nhất quán
• 5.1. Tính nhân bản
• 5.2. Tính nhất qn
• 5.2.1. Quản lý dữ liệu trong Git
• 5.2.2. Các trạng thái trong Git

14


• 5.1. Tính nhân bản

- Quan trọng với hệ phân tán vì:
+ Tăng tính tin cậy cho hệ thống
+ Tăng hiệu năng của hệ thống
- Tiêu chí của Git: “Every thing is local”
- Các nhân bản sẽ được lưu trữ trực tiếp ngay
tại chính local của người dùng.

15


• 5.2.1. Quản lý dữ liệu trong Git
- Mọi thứ trong Git được “băm” trước khi lưu trữ
và được tham chiếu tới bằng mã băm đó
- Cơ chế Git sử dụng là mã băm SHA-1
- Các mã băm được sử dụng mọi nơi trong Git
- Git quản lý Repository theo các phiên bản mà

dữ liệu bị sửa đổi

16


• 5.2.2. Các trạng thái trong Git

- Quản lý dựa trên 3 trạng thái: committed,
modified và staged
- Dự án sử dụng Git: thư mục Git, thư mục làm
việc và khu vực tổ chức
- Tiến trình cơng việc cơ bản của Git?

17


Chương 6: Tính chịu lỗi của hệ phân tán

- Vấn đề xảy ra lỗi chính nằm ở q trình
commit và push dữ liệu lên server
- Không thể tránh khỏi việc có nhiều hơn một
người dùng cùng chỉnh sửa một file dữ liệu và
cùng đẩy lên
- Lỗi xảy ra hầu hết đến từ phía người dùng

18


THANK
YOU !


19



×