
Quản lý phiên bản mã nguồn với Git/Github
Trong bối cảnh phát triển phần mềm hiện đại, việc quản lý phiên bản mã nguồn là một trong những năng lực nền tảng, quyết định sự thành công của quy trình DevOps và khả năng cộng tác trong nhóm. Khóa học này được thiết kế để giúp bạn làm chủ Git – hệ thống quản lý phiên bản phân tán mạnh mẽ và phổ biến nhất hiện nay, không chỉ dừng ở các thao tác cơ bản mà còn đi sâu vào cách Git vận hành, theo dõi sự thay đổi và bảo đảm tính toàn vẹn của mã nguồn.
Thông qua khóa học, bạn sẽ được hướng dẫn quản lý nhánh (branch) một cách khoa học, xử lý xung đột (conflict) một cách linh hoạt và áp dụng các mô hình làm việc chuẩn mực như GitHub Flow để tối ưu quy trình phát triển. Kiến thức này giúp bạn dễ dàng cộng tác trên cùng một dự án, duy trì chất lượng mã nguồn và đảm bảo tính liên tục của sản phẩm trong môi trường làm việc chuyên nghiệp.
Ngoài ra, khóa học còn cung cấp kỹ năng tích hợp Git vào hệ sinh thái DevOps, từ việc triển khai tự động hóa CI/CD cho đến khả năng “du hành thời gian” để rollback khi cần thiết. Đây là những kỹ năng thiết yếu đối với Lập trình viên, Kỹ sư DevOps và Quản trị viên hệ thống, giúp bạn kiểm soát toàn bộ vòng đời phát triển phần mềm, nâng cao hiệu quả làm việc nhóm và xây dựng nền tảng vững chắc cho các dự án quy mô lớn.
Thời lượng: 15h

KẾT QUẢ ĐẠT ĐƯỢC

Nắm vững nền tảng và làm việc cá nhân
Hiểu sâu kiến trúc Git, thành thạo chu trình làm việc cục bộ từ khởi tạo kho chứa, theo dõi thay đổi đến ghi lại lịch sử một cách chuyên nghiệp.

Làm chủ kỹ thuật phân nhánh và hợp nhất code
Sử dụng thành thạo branch, merge, rebase để phát triển các tính năng song song, tích hợp code an toàn và tự tin giải quyết xung đột mã nguồn.

Cộng tác hiệu quả với kho chứa từ xa
Đồng bộ mã nguồn qua push/pull, áp dụng quy trình Pull Request để review code và làm việc nhóm chuyên nghiệp trên các nền tảng như GitHub.

Tự tin hoàn tác thay đổi và sửa lỗi
Nắm vững các công cụ “du hành thời gian” như reset, revert, stash để hoàn tác, sửa lỗi trong lịch sử và lưu trữ công việc một cách an toàn.

Vận dụng quy trình nâng cao và bảo mật
Áp dụng các luồng công việc chuẩn, quản lý phiên bản phát hành với tag, và thiết lập kết nối an toàn đến kho chứa bằng SSH hoặc token.


Yêu cầu tiên quyết:
-
- Biết sử dụng dòng lệnh cơ bản
- Hiểu các khái niệm về file, thư mục và trình soạn thảo văn bản.
Nội dung khóa học
1. Tổng quan về Git và Quản lý Phiên bản
-
- Tổng quan về Quản lý Phiên bản:
- Tìm hiểu Quản lý Phiên bản là gì và tại sao DevOps cần Git để quản lý mã nguồn.
- So sánh các loại VCS:
- Phân biệt giữa Centralized VCS (như SVN) và Distributed VCS (như Git).
- Kiến trúc cốt lõi của Git:
- Hiểu rõ 3 khu vực làm việc: Working Directory, Staging Area, và Repository.
- Làm quen với các khái niệm quan trọng như HEAD và Index.
- Cài đặt và Cấu hình ban đầu:
- Thực hiện cài đặt Git trên các hệ điều hành phổ biến.
- Cấu hình thông tin người dùng (user.name, user.email) và trình soạn thảo mặc định.
- Tổng quan về Quản lý Phiên bản:
2. Làm việc trên Kho chứa Cục bộ
-
- Khởi tạo một kho chứa:
- Sử dụng git init để tạo một kho chứa mới hoàn toàn.
- Sử dụng git clone để sao chép một kho chứa đã có từ GitHub về máy.
- Chu trình làm việc cơ bản:
- Tạo một điểm lưu lịch sử với git commit.
- Chỉnh sửa commit gần nhất với tùy chọn git commit –amend.
- Xem lại lịch sử thay đổi:
- Sử dụng git log để truy vết lịch sử các commit.
- Tùy chỉnh cách hiển thị lịch sử với các tùy chọn như –oneline, –graph.
- Khởi tạo một kho chứa:
3. Phân nhánh và Hợp nhất Mã nguồn
-
- Quản lý nhánh:
- Tạo và chuyển đổi giữa các nhánh với git branch, git checkout -b, git switch.
- Hợp nhất nhánh:
- Thực hiện hợp nhất nhánh với git merge (phân biệt fast-forward và 3-way merge).
- Kỹ thuật nhận diện và xử lý xung đột khi hợp nhất (merge conflict).
- Tích hợp thay đổi với Rebase:
- Giới thiệu và so sánh git rebase với git merge trong các tình huống thực tế.
- Các chiến lược phân nhánh phổ biến:
- Tìm hiểu các quy trình làm việc chuyên nghiệp như GitHub Flow, GitLab Flow.
- Quản lý nhánh:
4. Làm việc với GitHub và KHO CHỨA TỪ XA
-
- Quản lý các kết nối từ xa:
- Tìm hiểu các khái niệm về remote: origin, upstream.
- Đồng bộ hóa mã nguồn:
- Đẩy thay đổi lên server với git push.
- Lấy và tích hợp thay đổi từ server với git pull và git fetch.
- Cộng tác trên dự án:
- Phân biệt rõ ràng sự khác nhau giữa clone và fork khi làm việc nhóm.
- Quản lý các file bỏ qua:
- Sử dụng file .gitignore để loại trừ các file không cần thiết ra khỏi quản lý phiên bản.
- Quản lý các kết nối từ xa:
5. Hoàn tác Thay đổi và “Du hành thời gian”
-
- Hủy bỏ các thay đổi cục bộ:
- Sử dụng git restore để hủy các thay đổi trong working hoặc staging area.
- Lưu trữ tạm thời công việc:
- Sử dụng git stash để cất đi các thay đổi chưa sẵn sàng để commit.
- Lấy và tích hợp thay đổi từ server với git pull và git fetch.
- Di chuyển lịch sử với git reset:
- Tìm hiểu 3 chế độ của reset: soft, mixed, hard để di chuyển con trỏ HEAD.
- Tạo commit đảo ngược an toàn:
- Sử dụng git revert để tạo ra một commit mới hoàn tác lại một commit cũ.
- Hủy bỏ các thay đổi cục bộ:
6. Quy trình Làm việc Nâng cao và Bảo mật
-
- Đánh dấu phiên bản với Tag:
- Gắn thẻ phiên bản với git tag (phân biệt annotated và lightweight).
- Xem và đẩy các tag đã tạo lên kho chứa từ xa trên GitHub.
- Tìm hiểu ứng dụng của việc gắn tag cho các bản phát hành (release) trong CI/CD.
- Quy trình Pull Request và Code Review:
- Tạo Pull Request (PR) trên GitHub để đề xuất thay đổi.
- Thực hiện quy trình review, phê duyệt và hợp nhất một PR vào nhánh chính.
- Giải quyết xung đột ngay trên giao diện web và liên kết issue với commit.
- Bảo mật kết nối:
- So sánh ưu nhược điểm giữa phương thức kết nối HTTPS và SSH.
- Tạo và sử dụng khóa SSH để kết nối an toàn với GitHub.
- Sử dụng Personal Access Token (PAT) khi làm việc qua HTTPS.
- Đánh dấu phiên bản với Tag:

Bài viết liên quan
