Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

The Git & Github Bootcamp

Khóa Học Cấp Tốc Git & Github

Khóa Học Cấp Tốc Git & Github

Thành thạo các kiến thức cốt lõi và phần phức tạp: rebasing, squashing, stashing, reflogs, blobs, trees, và hơn thế nữa!

4.7
(40,519 đánh giá)
196,343 học viên
Giảng viên
Colt Steele
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 419.000đ -88%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
17.0 giờ video
190 bài giảng
1 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/07/2026

Bạn sẽ học được gì

Hiểu cách Git hoạt động ở hậu trường
Giải thích sự khác biệt giữa các đối tượng Git: trees, blobs, commits và annotated tags
Thành thạo quy trình làm việc cơ bản với Git: thêm (add) và commit
Làm việc với các nhánh (branch) trong Git
Thực hiện gộp nhánh (merge) và giải quyết xung đột khi gộp
Sử dụng Git diff để xem các thay đổi theo thời gian
Thành thạo việc lưu tạm (stash) trong Git
Hoàn tác các thay đổi bằng git restore, git revert và git reset
Làm việc với kho lưu trữ (repository) cục bộ và từ xa
Thành thạo các quy trình cộng tác: pull requests, "fork & clone", v.v.
Gom commit, dọn dẹp và viết lại lịch sử bằng rebase tương tác
Khôi phục công việc "bị mất" bằng git reflogs
Viết các bí danh (alias) Git tùy chỉnh và mạnh mẽ
Đánh dấu các bản phát hành và phiên bản bằng Git tags
Lưu trữ website tĩnh bằng Github Pages
Tạo file README bằng markdown
Chia sẻ mã nguồn và đoạn code bằng Github Gists

Yêu cầu

Kỹ năng máy tính cơ bản

Đối tượng phù hợp

Dành cho bất kỳ ai quan tâm đến việc học Git ở bất kỳ mức độ nào :)
Dành cho bất kỳ ai đang học lập trình hoặc mong muốn bước vào lĩnh vực công nghệ
Lập trình viên web, nhà khoa học dữ liệu, kỹ sư phần mềm, lập trình viên di động, phát triển game, v.v.
Dành cho bất kỳ ai làm việc với code hoặc trong vai trò liên quan đến code

Nội dung khóa học

20 phần • 190 bài giảng
1 Chào mừng bạn đến với Khóa học!
2 Tham gia Cộng đồng của chúng tôi!
3 Nội dung Khóa học bao gồm
4 Lưu ý về Bài tập
5 Truy cập Slide & Biểu đồ
6 LƯU Ý QUAN TRỌNG: Về các liên kết Slide
1 Điều thực sự quan trọng trong phần này
2 Git chính xác là gì?
3 Hình dung về Git
4 Lược sử nhanh về Git
5 Ai sử dụng Git?
6 Git vs. Github: Sự khác biệt là gì?
1 Điều thực sự quan trọng trong phần này
2 Cài đặt Git: Terminal vs. Giao diện đồ họa (GUI)
3 Cài đặt Git trên WINDOWS
4 Cài đặt Git trên MAC
5 Cấu hình Tên & Email Git của bạn
6 Cài đặt GitKraken (GUI của chúng tôi)
7 Khóa học cấp tốc về Terminal: Giới thiệu
8 Khóa học cấp tốc về Terminal: Điều hướng
9 Khóa học cấp tốc về Terminal: Tạo Tệp & Thư mục
10 Khóa học cấp tốc về Terminal: Xóa Tệp & Thư mục
11 TÙY CHỌN: Chủ đề màu cho VS Code
1 Điều thực sự quan trọng trong phần này
2 Git Repo là gì?
3 Các lệnh đầu tiên: Git Init và Git Status
4 Thư mục .Git bí ẩn
5 Một lỗi Git phổ biến ban đầu
6 Tổng quan về Quy trình Commit
7 Đưa thay đổi vào khu vực staging với Git Add
8 Cuối cùng, lệnh Git Commit!
9 Lệnh Git Log (Và thêm về Commit)
10 Bài tập về Commit
1 Điều thực sự quan trọng trong phần này
2 Điều hướng Tài liệu Git
3 Giữ các Commit của bạn ở dạng nguyên tử (Atomic)
4 Thông điệp Commit: Thì hiện tại hay quá khứ?
5 Thoát VIM & Cấu hình Trình soạn thảo mặc định của Git
6 Xem kỹ hơn lệnh Git Log
7 Commit bằng GUI
8 Sửa lỗi với Amend
9 Bỏ qua tệp với .gitignore
1 Điều thực sự quan trọng trong phần này
2 Giới thiệu về Nhánh (Branches)
3 Nhánh Master (Hay là Main?)
4 HEAD rốt cuộc là gì?
5 Xem tất cả các nhánh với Git Branch
6 Tạo & Chuyển đổi Nhánh
7 Thêm bài tập với Nhánh
8 Một tùy chọn khác: Git Checkout vs. Git Switch
9 Chuyển nhánh khi có thay đổi chưa staged?
10 Xóa & Đổi tên Nhánh
11 Cách Git lưu trữ HEAD & các Nhánh
12 Bài tập về Nhánh
1 Điều thực sự quan trọng trong phần này
2 Giới thiệu về Gộp nhánh (Merging)
3 Thực hiện Gộp nhánh Kiểu Fast Forward
4 Hình dung về Gộp nhánh
5 Tạo các Commit Gộp nhánh
6 Ôi không! Xung đột khi Gộp nhánh!
7 Giải quyết Xung đột khi Gộp nhánh
8 Sử dụng VSCode để Giải quyết Xung đột
9 Bài tập về Gộp nhánh
1 Điều thực sự quan trọng trong phần này
2 Giới thiệu lệnh Git Diff
3 Hướng dẫn Đọc Diff
4 Xem các Thay đổi chưa staged
5 Xem các Thay đổi trong Thư mục làm việc
6 Xem các Thay đổi đã staged
7 So sánh các Tệp cụ thể
8 So sánh Thay đổi giữa các Nhánh
9 So sánh Thay đổi giữa các Commit
10 Hình dung Diff bằng GUI
11 Bài tập về Diff
1 Điều thực sự quan trọng trong phần này
2 Tại sao chúng ta cần Git Stash
3 Cơ bản về Stash: Git Stash Save & Pop
4 Thực hành với Git Stash
5 Git Stash Apply
6 Làm việc với Nhiều Stash
7 Xóa & Dọn sạch Stash
8 Bài tập về Stash
1 Điều thực sự quan trọng trong phần này
2 Chuyển đến các Commit cũ với Checkout
3 Gắn lại HEAD đã bị tách rời!
4 Tham chiếu Commit tương đối so với HEAD
5 Loại bỏ Thay đổi với Git Checkout
6 Hủy sửa đổi với Git Restore
7 Hủy staged thay đổi với Git Restore
8 Hoàn tác Commit với Git Reset
9 Đảo ngược Commit với...Git Revert
10 Bài tập về Hoàn tác Thay đổi
1 Điều thực sự quan trọng trong phần này
2 Github làm gì cho chúng ta?
3 Tại sao bạn nên sử dụng Github!
4 Sao chép (Clone) Repo Github với Git Clone
5 Sao chép các Repo không phải từ Github
6 Thiết lập Github: Cấu hình SSH
7 Tạo Repo Github đầu tiên của chúng ta!
8 Khóa học cấp tốc về Remote trong Git
9 Giới thiệu Git Push
10 Tham quan một Repo Github
11 Thực hành với Git Push
12 Xem kỹ hơn về Git Push
13 "git push -u" nghĩa là gì?
14 Một quy trình Github khác: Clone trước
15 Main & Master: Nhánh mặc định trên Github
16 Bài tập Cơ bản về Github
1 Điều thực sự quan trọng trong phần này
2 Remote Tracking Branches: Chúng là gì?
3 Chuyển đến các Remote Tracking Branches
4 Làm việc với các Remote Branches
5 Git Fetch: Kiến thức cơ bản
6 Minh họa Git Fetch
7 Git Pull: Kiến thức cơ bản
8 Git Pull & Xung đột khi Gộp
9 Cú pháp ngắn hơn cho Git Pull?
1 Điều thực sự quan trọng trong phần này
2 Khả năng hiển thị Repo Github: Công khai vs. Riêng tư
3 Thêm Người cộng tác trên Github
4 Demo Cộng tác trên Github
5 READMEs là gì?
6 Khóa học cấp tốc về Markdown
7 Thêm README vào một Dự án
8 Tạo Github Gists
9 Giới thiệu Github Pages
10 Demo Github Pages
1 Điều thực sự quan trọng trong phần này
2 Nhược điểm của Quy trình Tập trung (Centralized)
3 Minh họa Quy trình Tập trung
4 Quy trình Nhánh Tính năng (Feature Branch) quan trọng
5 Demo Quy trình Nhánh Tính năng
6 Gộp các Nhánh Tính năng
7 Giới thiệu Pull Requests
8 Tạo Pull Request đầu tiên của chúng ta
9 Gộp Pull Requests có Xung đột
10 Cấu hình Quy tắc Bảo vệ Nhánh
11 Giới thiệu Forking
12 Minh họa Forking
13 Quy trình Fork & Clone
14 Minh họa Quy trình Fork & Clone
1 Điều thực sự quan trọng trong phần này
2 Tại sao Rebasing lại đáng sợ? Có thật không?
3 So sánh Gộp nhánh (Merging) & Rebasing
4 Demo Rebase Phần 1: Thiết lập & Gộp nhánh
5 Demo Rebase Phần 2: Thực sự Rebasing
6 Quy tắc Vàng: Khi nào KHÔNG nên Rebase
7 Xử lý Xung đột & Rebasing
1 Điều thực sự quan trọng trong phần này
2 Giới thiệu Rebase Tương tác
3 Sửa thông điệp Commit với Rebase Tương tác
4 Sửa lỗi & Gom commit (Squash) với Rebase Tương tác
5 Xóa Commit với Rebase Tương tác
1 Điều thực sự quan trọng trong phần này
2 Ý tưởng đằng sau Git Tags
3 Lưu ý phụ về Đánh số Phiên bản Ngữ nghĩa (Semantic Versioning)
4 Xem & Tìm kiếm Tags
5 So sánh Tags với Git Diff
6 Tạo Lightweight Tags
7 Tạo Tag Có Ghi Chú
8 Gắn Tag Cho Commit Trước Đó
9 Thay Thế Tag Bằng Lệnh Force
10 Xóa Tag
11 QUAN TRỌNG: Đẩy Tag Lên Remote
1 Điều Quan Trọng Nhất Trong Phần Này
2 Làm Việc Với File Cấu Hình Local
3 Bên Trong Git: Thư Mục Refs
4 Bên Trong Git: File HEAD
5 Bên Trong Git: Thư Mục Objects
6 Khóa Học Cấp Tốc Về Hàm Băm
7 Git Như Một Kho Dữ Liệu Key-Value
8 Tạo Mã Băm Với Git Hash-Object
9 Truy Xuất Dữ Liệu Với Git Cat-File
10 Tìm Hiểu Sâu Về Đối Tượng Git: Blobs
11 Tìm Hiểu Sâu Về Đối Tượng Git: Trees
12 Tìm Hiểu Sâu Về Đối Tượng Git: Commits
1 Điều Quan Trọng Nhất Trong Phần Này
2 Giới Thiệu Về Reflogs
3 Hạn Chế Của Reflogs
4 Lệnh Git Reflog Show
5 Sử Dụng Tham Chiếu Reflog
6 Bộ Lọc Thời Gian Cho Reflog
7 Cứu Các Commit Đã Mất Bằng Reflog
8 Hoàn Tác Rebase Với Reflog - Thật Kỳ Diệu!
1 Điều Quan Trọng Trong Phần Này
2 File Cấu Hình Git Toàn Cục
3 Viết Git Alias Đầu Tiên
4 Thiết Lập Alias Từ Dòng Lệnh
5 Alias Có Tham Số
6 Khám Phá Các Alias Hữu Ích Có Sẵn Trên Mạng

Giới thiệu khóa học

The following sentence is annoying, but also true: the best time to learn Git was yesterday. Fortunately, the second best time is today!  Git is an essential tool for work in any code-related field, from data science to game development to machine learning.  This course covers everything you need to know to start using Git and Github in the real-world today!

The course's 20+ sections are broken down into four separate units:

  • Git Essentials

  • Next Level Git

  • Github & Collaboration

  • The Tricky Bits

We start off with Git Essentials.  The goal of this unit is to give you all the essential Git tools you need for daily use.  We start off talking about version control software, what it is, why it matters, and the history of Git.  Then we install Git and run through the Unix commands you'll need to work with Git (you can skip this if you're already familiar).  The bulk of this unit is focused on teaching the core Git mechanics like committing and branching and the associated concepts: the working directory, the repository, the staging area, etc.    We cover Git commands including: git init, git add, git commit, git status, git log, git branch, and git merge.  We end with a detailed look at branching, merging, and resolving conflicts.

Then we move on to out Next Level Git unit, where we cover additional commands and Git concepts that are extremely useful, but maybe not as "core" as the Git Essentials.  We start with a comprehensive look at the gif diff command and the various comparisons that we can make between commits, branches, the working directory, the staging area, and more!  We pay special attention to reading and parsing the dense output generated by diffs.  Then we shift our focus to stashing with the git stash command, a "convenience command" that many users love incorporating into their Git workflow.  Finally, we dive deep into undoing changes and time traveling with Git.  We learn how to revisit earlier work, detach and re-attach HEAD, and discard changes.  We cover git commands that help us undo changes including git checkout, git restore, git reset, and git revert.

Next up, we change gears to focus on Github & Collaboration.  We start by exploring Github (and similar tools) that host remote repositories and discussing the benefits they provide.  We create our own Github repositories and sync up changes between our remote and local repositories using the git push, git pull, and git fetch commands.  We then focus on commonly used collaboration workflows that students may encounter in the real world: feature branching, pull requests, forking & cloning, and more! We discuss contributing to open source projects and configuring Github repositories for collaboration. We also spend some time learning about useful Github features including Github Gists and Github Pages for free static hosting.

The last unit in the course, The Tricky Bits, is really just a collection of useful Git command and advanced topics.  We start by covering one of the "scarier" Git commands: rebasing!  We discuss the potential benefits and pitfalls of rebasing and compare it to merging.  Then we learn how to clean up our Git history by rewording, editing, dropping, and squashing commits using the interactive rebase command.  Next, we discuss Git tags (lightweight and annotated tags) semantic versioning and tagging workflows.  After that, we move on to a deep dive into the inner workings of Git.  We discuss the files and folders Git uses internally, the role of hashing functions in Git, and the role of Git objects (blobs, trees, etc.). Next, we talk about reference logs and the git reflog command.  Specifically, we learn how we can use reflogs to rescue "lost" commits and undo rebases.  Finally, we learn how to write custom and powerful Git aliases!

Throughout the course, you'll find tons and tons of diagrams and visual references I've created to try and explain Git.  The course also includes exercises I've tested on my in-person students, to give you an opportunity to practice the concepts in the course along the way.  If you are reading this sentence, I congratulate you on making it this far :) I hope you enjoy the course!

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Git
Hiển thị tất cả khoá học Github
Hiển thị tất cả khoá học Software Development
Hiển thị tất cả khoá học Version Control
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊