You are on page 1of 45

om

.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

git remote set-url origin [url] // thay đổi liên kết


u

• .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

git revert // quay lại trạng thái trước đó


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
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

• Sửa lỗi (hotfix)

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

Git checkout –b [new_branch]


u
cu

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

Chuyển nhánh develop


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
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

git clone url // Lấy code từ url


u
cu

4. Chạy chương trình

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

You might also like