Hướng dẫn Git của Ry
Hướng dẫn toàn diện về kiểm soát phiên bản Git, từ các quy trình cơ bản như chuẩn bị và ghi lại thay đổi đến các chủ đề nâng cao như tái cấu trúc tương tác, hợp tác từ xa và nội bộ cơ chế lưu trữ dữ liệu của Git.
Tổng quan khóa học
📚 Tóm tắt Nội dung
Hướng dẫn toàn diện về kiểm soát phiên bản Git, từ các quy trình cơ bản như chuẩn bị và ghi lại thay đổi đến các chủ đề nâng cao như tái định hướng tương tác, cộng tác từ xa và cấu trúc nội bộ của cơ sở dữ liệu đối tượng Git.
Thành thạo hệ thống kiểm soát phiên bản phổ biến nhất thế giới, từ lệnh đến các thành phần cốt lõi.
Tác giả: Ryan Hodson
Lời cảm ơn: Không có lời cảm ơn nào được nêu rõ trong phần mở đầu.
🎯 Mục tiêu Học tập
- So sánh và đối chiếu các Hệ thống Kiểm soát Phiên bản (VCS) cục bộ, tập trung và phân tán.
- Nhận diện các động lực lịch sử đằng sau việc tạo ra Git cho hạt nhân Linux.
- Thực hiện cài đặt Git cơ bản, bao gồm xác minh cài đặt, khởi tạo kho lưu trữ và theo dõi tệp tin.
- Khởi tạo một kho Git và xác định vai trò của thư mục
.git. - Cấu hình thông tin người dùng toàn cục và theo dõi tệp dự án bằng khu vực chuẩn bị (staging area).
- Thực hiện các thao tác commit để tạo bản sao lưu trạng thái dự án và xem lại chúng qua lịch sử kho.
- Di chuyển đến các lần commit cụ thể trong quá khứ bằng ID và quay trở lại trạng thái hiện tại của dự án.
- Tạo và quản lý các thẻ có chú thích để xác định các phiên bản phát hành ổn định.
- Áp dụng
git revertđể hoàn tác những thay đổi đã commit mà vẫn giữ được lịch sử minh bạch. - Xác định, tạo và chuyển đổi giữa các nhánh sử dụng dòng lệnh Git.
Bài học 共 13 课时 · 预计 39.0h
Bài học
Lesson
AI016: History and Fundamentals of Revision Control (Lesson 1) This lesson explores the evolution of version control, contrasting the inefficiencies of manual file management—such as the "suffix trap" and "folder stack" methods—with the structured, snapshot-based approach of modern systems like Git. Students will learn how Version Control Systems provide atomic integrity, auditability, and efficient change management to replace error-prone manual workflows.
This lesson covers the essential setup for Git, including configuring your global user identity and initializing a new repository. You will learn how to establish your digital signature for professional attribution and understand how Git transforms a standard directory into a tracked project.
This lesson explores how to navigate project history in Git by using checksums and the checkout command to inspect previous file states. Students will also learn how to manage the detached HEAD state and effectively use terminal commands to view and return to their current work.
This lesson covers the fundamentals of Git branching, focusing on how to create, manage, and navigate independent lines of development using pointers. Students will learn to distinguish between the default master branch and feature branches while mastering the mechanics of merging and conflict resolution.
This lesson explores advanced Git branching strategies, focusing on the technical differences between fast-forward and 3-way merges when project histories diverge. Students will learn to identify branch divergence, manage complex merge scenarios, and maintain a clean, historical record of project development.
This lesson explores the concept of divergent Git history, explaining how independent branch evolution creates complex, non-linear project timelines. Students will learn to identify the causes of divergence and master rebasing strategies to maintain a clean, linear, and easily auditable commit history.
This lesson explores the philosophy of maintaining a clean, professional Git history by treating commits as intentional, atomic snapshots rather than simple save points. Students will learn to use interactive rebasing, commit amending, and the reflog to curate a linear, readable project narrative while mastering the technical distinction between branches as pointers versus containers.
This lesson explores the distributed nature of Git by teaching students how to manage remote repositories as independent, peer-to-peer bookmarks. You will learn to configure remote connections, distinguish between local and remote states, and master the essential commands for synchronizing code between repositories.
This lesson introduces the centralized shared repository model, which uses a hub-and-spoke topology to establish a single source of truth for team collaboration. Students will learn how to manage workflows using a central server, define the role of the integrator, and understand the function of bare repositories as dedicated storage hubs.
This lesson explores the Distributed Integrator Model, explaining how decentralized version control systems like Git allow developers to maintain local project histories while using platforms like Bitbucket as public gateways. Students will learn to configure their identity, manage secure transport protocols, and implement workflows that improve scalability and collaboration compared to traditional centralized systems.
This lesson explores the patch-based development workflow, a decentralized collaboration model where contributors submit code via email for review by a project integrator. Students will learn to master the git-format-patch and git-send-email toolchains while understanding the social and technical advantages of this high-integrity, asynchronous development process.
This lesson explores advanced Git utilities, focusing on the practical differences between git archive for clean, metadata-free snapshots and git bundle for portable, history-preserving repository transfers. Students will learn to select the appropriate export strategy based on project requirements while mastering Git hooks, advanced diff algorithms, and custom repository management.
This lesson explores Git's internal architecture by distinguishing between high-level "Porcelain" commands and low-level "Plumbing" operations. Students will learn how Git functions as a content-addressable filesystem, utilizing SHA-1 hashing to manage immutable objects like blobs, trees, and commits within the .git/objects directory.