
Quản lý Phiên bản Mã nguồn
Trong quy trình DevOps, quản lý phiên bản là công cụ không thể thiếu để quản lý mã nguồn, phối hợp nhóm, tự động hoá pipeline CI/CD, rollback khi có lỗi. Khoá học này giúp học viên làm chủ Git từ cơ bản đến thực chiến, hiểu được Git hoạt động ra sao, áp dụng đúng quy trình khi làm việc nhóm và chuẩn bị cho việc tích hợp vào các công cụ khác như Jenkins, Docker hoặc Ansible sau này.
Thời lượng: 15h

Bạn đạt được gì sau khi hoàn thành khóa học

Hiểu sâu sắc về kiến trúc và cách hoạt động của Git
Bạn sẽ không chỉ học thuộc lòng lệnh, mà còn hiểu rõ 3 khu vực cốt lõi (Working Directory, Staging Area, Repository), giúp bạn tự tin xử lý mọi tình huống phức tạp.

Thành thạo các thao tác quản lý phiên bản cá nhân trên dòng lệnh
Nắm vững chu trình làm việc cơ bản: tạo kho chứa (init, clone), theo dõi thay đổi (add, status), và ghi lại lịch sử một cách chuyên nghiệp (commit, log).

Làm chủ kỹ thuật phân nhánh và hợp nhất để làm việc nhóm hiệu quả
Sử dụng branch để phát triển tính năng một cách cô lập, và merge hoặc rebase để tích hợp công việc của cả nhóm một cách an toàn, đồng thời biết cách xử lý xung đột (merge conflict) khi xảy ra.

Sử dụng GitHub như một trung tâm cộng tác và quản lý dự án
Học cách đồng bộ code với kho chứa từ xa (push, pull), và sử dụng Pull Request để thực hiện quy trình review code – một chuẩn mực trong các dự án phần mềm.
Biết cách “du hành thời gian” – hoàn tác các thay đổi một cách an toàn
Nắm vững các công cụ reset, revert, stash để sửa chữa các lỗi sai, quay lại phiên bản cũ hoặc lưu trữ công việc đang dang dở mà không làm ảnh hưởng đến dự án.
Áp dụng quy trình gắn thẻ phiên bản (Tagging) và các luồng công việc chuẩn
Sử dụng tag để đánh dấu các phiên bản phát hành sản phẩm quan trọng và áp dụng các quy trình như GitHub Flow để chuẩn hóa cách làm việc của cả đội.

Đối tượng tham gia

Lập trình viên (Developer) ở mọi cấp độ cần một công cụ chuyên nghiệp để quản lý mã nguồn và làm việc nhóm.

Kỹ sư DevOps, Quản trị viên hệ thống (SysAdmin) cần quản lý code cho hạ tầng (IaC), kịch bản tự động hóa và pipeline CI/CD.

Kiểm thử viên tự động (Automation Tester), Phân tích dữ liệu (Data Analyst) muốn quản lý các kịch bản và dự án của mình một cách khoa học.

Sinh viên hoặc người mới bắt đầu trong ngành IT muốn trang bị kỹ năng nền tảng và thiết yếu nhất mà mọi công ty công nghệ đều yêu cầu.

Yêu cầu tiên quyết
- Biết sử dụng dòng lệnh cơ bản
- Hiểu khái niệm file, thư mục, text editor
Nội dung khóa học
1. Tổng quan về Git và quản lý phiên bản
- Version Control là gì? Tại sao DevOps cần Git?
- So sánh Centralized VCS (SVN) và Distributed VCS (Git)
- Kiến trúc Git: Working Directory, Staging Area, Repository (HEAD, Index)
- Cài đặt Git và cấu hình user name, email, editor mặc định
2. Khởi tạo và quản lý repository
- git init, git clone từ GitHub
- Thêm/sửa/xoá file: git add, git rm, git mv
- Tạo commit: git commit, –amend để chỉnh sửa
- Kiểm tra thay đổi: git status, git diff
- Xem lịch sử: git log, các tùy chọn –oneline, –graph, –all
3. Làm việc với nhánh và hợp nhất mã nguồn
- Tạo nhánh mới: git branch, git checkout -b, git switch
- Hợp nhất nhánh: git merge, fast-forward vs 3-way
- Xử lý xung đột merge conflict
- Giới thiệu Rebase: git rebase, so sánh với merge
- Chiến lược branching phổ biến: GitHub Flow, GitLab Flow, Git Flow
4. Làm việc với GitHub và Remote Repository
- Khái niệm Remote: origin, upstream
- Thêm remote: git remote add
- Đồng bộ mã nguồn:
- Đẩy lên GitHub: git push
- Lấy về từ remote: git pull, git fetch
- Phân biệt clone vs fork
- .gitignore: bỏ qua các file không cần quản lý
5. Tag và phiên bản phần mềm
- Gắn tag phiên bản: git tag, annotated vs lightweight
- Xem và đẩy tag lên GitHub: git push origin v1.0.0
- Ứng dụng gắn tag cho release, rollback trong CI/CD
6. Undo – hoàn tác các thay đổi
- git restore: huỷ thay đổi trong working/staging
- git reset: soft, mixed, hard – xoá commit tạm thời
- git revert: tạo commit đảo ngược an toàn
- git stash: lưu tạm thay đổi chưa commit
- Chiến lược rollback và recovery an toàn
7. Pull Request, Code Review và Quy trình nhóM
- Tạo Pull Request (PR) trên GitHub
- Quy trình review – approve – merge
- Giải quyết xung đột trên giao diện web
- Assign issue, liên kết commit với issue
- Giới thiệu GitHub Projects để quản lý tiến độ nhóm
8. SSH, Token và bảo mật GitHub
- HTTPS vs SSH: ưu nhược
- Tạo SSH key, kết nối GitHub qua SSH
- Dùng Personal Access Token (PAT) khi làm việc với HTTPS
- Bảo mật khi dùng GitHub trong môi trường CI/CD
9. Bài thực hành tổng hợp cuối môn
Mini Project: Quản lý mã nguồn nhóm
Học viên chia nhóm nhỏ (2–3 người), thực hiện:
- Tạo repository trên GitHub theo mô hình nhóm
- Mỗi người tạo nhánh riêng, viết code xử lý khác nhau (ví dụ: script xử lý file, CLI tool)
- Commit, push, tạo Pull Request, review chéo và merge
- Tạo tag v1.0.0 khi hoàn tất
- Thực hiện một số thao tác rollback, revert, stash và xử lý conflict
- Nộp link GitHub repository có đầy đủ commit history, log và tag

Bài viết liên quan
