Professional Documents
Culture Documents
Nhap-Mon-Cong-Nghe-Phan-Mem Bai-Tap-Tuan-05 - Git
Nhap-Mon-Cong-Nghe-Phan-Mem Bai-Tap-Tuan-05 - Git
.c
ng
Công nghệ: GIT
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Sơ lược về Git
om
• Khái niệm: là một hệ thống quản lí phiên bản phân tán
.c
ng
• Là phần mềm quản lí mã nguồn phổ biến nhất
co
• Dễ sử dụng, an toàn và nhanh chóng
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Quy trình sản xuất phần mềm với Git
om
1. Cài đặt Git
.c
2. Khởi tạo git trong project
ng
3. Làm việc với branch
co
4. Xử lí merge request
an
5. Vấn đề conflict
th
6. Deploy server dùng git * o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
1. Cài đặt Git
om
1. Download git: https://git-scm.com/downloads
.c
2. Kiểm tra version
ng
git –version
co
an
3. Cấu hình thông tin cá nhân
th
git config –global user.name “Name”
git config –global user.email “Email”
o ng
du
u
4. SSH keys
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
2. Khởi tạo git trong project
om
• Khởi tạo
.c
ng
git init // khởi tạo thư mục .init
co
git clone [url] [folder_name] // clone source code từ url
an
th
• Kiểm tra repository
git remote –v
o ng
// xem các liên kết
du
• .gitignore
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Một số lệnh cơ bản
om
git add [ -A | . | -u ] // thêm / thay đổi file, thư mục
.c
git status // kiểm tra trạng thái của project
ng
co
git commit –m “Content commit” // ghi lại việc them / thay đổi
an
git push origin [branch] // thêm commit vào kho lưu trữ
th
git pull
o ng // cập nhật kho lưu trữ
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Một số lệnh quan trọng
om
git merge/ rebase // ghép 2 nhánh
.c
git reset // xóa những cập nhật hiện tại
ng
co
git checkout // chuyển nhánh
an
git stash // lưu lại thay đổi chưa commit
th
git log
o ng // xem lịch sử commit
du
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các câu lệnh cơ bản
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các câu lệnh cơ bản
om
.c
Tạo thư mục Git
ng
co
Di chuyển đến Git/
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các câu lệnh cơ bản
om
.c
ng
Khơi tạo .init
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các câu lệnh cơ bản
om
.c
ng
co
Kiểm tra trạng thái
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các câu lệnh cơ bản
om
.c
Cập nhật thay đổi
ng
co
Tạo ra 1 commit
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các câu lệnh cơ bản
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các câu lệnh cơ bản
om
.c
ng
co
an
th
o ng Kết nối với Github
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các câu lệnh cơ bản
om
.c
ng
co
an
th
Đưa commit lên
o ng kho lưu trữ
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các câu lệnh cơ bản
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
3. Làm việc với nhánh (Branch)
om
• Branch chính
.c
• Master
ng
co
• Developer
an
• Staging
th
• Branch hỗ trợ o ng
• Tính năng
du
• Release
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
3. Làm việc với nhánh (Branch)
om
• Nhánh master: lưu trữ lịch sử phát hành chính thức (production)
.c
ng
• Nhánh develop: Nhánh tích hợp cho các tính năng (dev)
co
• Nhánh staging: được tách ra từ develop để QA/QC kiểm tra
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thao tác với nhánh cơ bản
om
Chuyển nhánh khác
.c
ng
Git checkout [branch]
co
Git checkout –b [new_branch]
an
Xóa nhánh
th
Git checkout [branch]
o ng
du
CuuDuongThanCong.com https://fb.com/tailieudientucntt
4. Xử lí merge request
om
Merge
.c
• Tích hợp 2 nhánh
ng
• Tạo ra 1 merge commit và thêm vào nhánh đích
• Cây cực kì rối, khó nhìn
co
• Tìm kiểm và sửa lỗi dễ dàng
an
Rebase
th
• History dễ nhìn, thẳng hàng
ng
• Đem từng commit ở nhánh nguồn đặt lên nhánh chính theo đúng thứ tự
o
• Dễ gây xung đột
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Merge & Rebase
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Merge & Rebase
om
.c
ng
co
an
th
o ng
du
u
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Merge & Rebase
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Merge & Rebase
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Merge & Rebase
om
.c
Chuyển nhánh master
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Merge & Rebase
om
.c
ng
co
an
Merge nhánh
th
develop vào master
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Merge & Rebase
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Merge & Rebase
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
5. Vấn đề conflict
om
• Xảy ra khi hai hay nhiều người thay đổi cùng một tệp
.c
ng
• Phát hiện khi xử lí merge request
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
master|MERGING??
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
6. Deploy server dùng git *
om
1. Login vào server
.c
ssh your_user@server_ip_address // kết nối với server
ng
2. Cài đặt git
co
sudo apt-get update // cập nhật apt-get
an
sudo apt-get install git // cài đặt git
th
3. Khởi tạo git trong project o ng
du
CuuDuongThanCong.com https://fb.com/tailieudientucntt
CI/CD *
om
• Continuous Integration/ Continuous Delivery
.c
ng
• Quá trình tích hợp thường xuyên + cập nhật phiên bản mới
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tài liệu tham khảo
om
• https://git-scm.com/downloads
.c
ng
• Git Flow
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt